ajax通信前にチェックボックスのdisabledをfalseにしたい

実現したいこと

ページを読み込んだとき、ajax通信を行う前にチェックボックスのdisabledを解除したいです。

前提

javascriptで開発中です。ajax通信用に値を詰め込むため、
最大で31件のdisabledになっているチェックボックスを一時的に解除しようとしています。

チェックボタンをクリックしたときにも同様に、チェックボックスのdisabledを解除しajax通信をしていますがこちらは問題なく動きます。
ページを読み込んだ場合にも同様の処理をしたいのですがどのようにしたらよいのか分かりません。

該当のソースコード

html

1<table>2<thead></thead>3<tbody>4 <tr><td><input type='checkedBox' name='checkedBox' value='20230701' disabled='disabled'>1</td></tr>5 <tr><td><input type='checkedBox' name='checkedBox' value='20230702' disabled='disabled'>2</td>6 <td><input type='checkedBox' name='checkedBox' value='20230703' disabled='disabled'>3</td>7 <td><input type='checkedBox' name='checkedBox' value='20230704' disabled='disabled'>4</td>8 <td><input type='checkedBox' name='checkedBox' value='20230705' disabled='disabled'>5</td>9 <td><input type='checkedBox' name='checkedBox' value='20230706' disabled='disabled'>6</td>10 <td><input type='checkedBox' name='checkedBox' value='20230707' disabled='disabled'>7</td>11 <td><input type='checkedBox' name='checkedBox' value='20230708' disabled='disabled'>8</td>12</tr>13.....略 14</tbody>

javascript

1$(function(){2 check();3})4 5function changeDisable(disable){6 $('#form').find('input[name="checkedBox"]').each(function(){7 if(disable){8 $(this).attr("disabled", true);9 } else {10 $(this).attr("disabled", false);11 }12 });13}14 15function check(){16 $.when(17 changeDisable(false)18 ).done(function(){19 var checked = [];20 for(va i = 0; i<$('input[name="checkedBox"]:checked').length; i++){21 checked.push($('input[name="checkedBox"]:checked').eq(i).val());22 }23 24 $.ajax({25 ............26 data : {27 "checked"; checked 28 },29 success: function(data){30 ...........31 }32 });33 changeDisable(true);34 35 });36}

試したこと

ajax通信を行う前にwhen, doneでdisabledを解除しようとしましたが、ajax通信が先に走ってしまいます。

補足情報(FW/ツールのバージョンなど)

eclipse 4.12.0
java1.8
jquery-2.1.3.min.js

コメントを投稿

0 コメント