我有一个checkBox,当它被检查时我想启用一个表及其子控件,当它被禁用时我想反过来。
我已经明白我必须迭代表的所有子控件,我的问题是是否有任何好的和通用的方法。
提前致谢,
盎司
答案 0 :(得分:2)
您可以使用 jQuery 执行此操作。假设你的HTML看起来像这样:
<input type="checkbox" onclick="toggleControls(this)"/>Controls Disabled
<table id="myTable">
<tr>
<td>Name: <input type="text" /></td>
<td>Select: <input type="radio" /></td>
</tr> .....
toggleControls()函数用于禁用/启用表格中的所有控件(这意味着所有文本框,按钮,复选框,单选按钮和下拉列表)如下所示:
<script>
function toggleControls(e){
$('#myTable input,select,textarea').attr('disabled',e.checked);
}
</script>
jQuery的css选择器使一行禁用/启用控件。使用普通的旧javascript,函数将如下所示:
var myTable = document.getElementById("myTable");
var controls= myTable.getElementsByTagName("input");
// Repeat the previous line for "select" and "textarea"
for(i = 0; i < controls.length; i++) {
control = controls[i];
control.disabled = !control.disabled;
}
答案 1 :(得分:1)
使用框架(例如使用Prototype.js)使用选择器和类名更容易。
单击此项目时,启用“mycontrols”类的所有项目。
$('containerDiv').select('.mycontrols').each(function(element){element.disabled=false})