在Javascript中循环遍历数千个表单元素的最快方法

时间:2013-01-03 19:26:20

标签: javascript

我正在尝试遍历数千个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/>";
 }
 ?>

这段代码可以满足需要,但是在处理表单元素时速度极慢,我可以注意到滞后。有没有办法让它更快?

1 个答案:

答案 0 :(得分:-1)

我认为最好像这样使用Jquery:

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

希望它能正常工作。