2

数千の JavaScript 要素をループしようとしています。特にチェックボックスと選択。メインのチェックボックスがチェックされているかどうかに応じて、チェックボックスをチェック/チェック解除し、選択を無効/有効にする必要があります。

 <script>
 function processFormElem(min, max, isChecked) {
    for (var i=min; i < max; i++) {
        document.getElementById('chkbox_'+i).checked = isChecked;
        document.getElementById('select_'+i).disabled = !(isChecked);
    }
}
</script>

 Check this: <input onchange='processFormElem(0,10000,this.checked);' type='checkbox'  value = '0'><br/><br/>

 <?php
 for ($i=0; $i < 10000; $i++) {
     echo "Check: <input type='checkbox' id='chkbox_$i' value = '1'> ";
     echo "Select: <select disabled='disabled'  id='select_$i'><option selected>1<option>xyz</select><br/>";
 }
 ?>

このコードは必要なことを実行しますが、フォーム要素の処理が非常に遅く、遅延に気付くことができます。それを速くする方法はありますか?

4

2 に答える 2

-1

ここでは、次のように Jquery を使用する方がよいと思います。

$(':checkbox').each(function () {  
    this.checked = isChecked; 
});
//isChecked-true/false

うまくいくことを願っています。

于 2013-01-03T19:55:15.333 に答える