簡體   English   中英

如何啟用\\禁用表的所有子控件?

[英]How can I Enable\Disable all subcontrols of a table?

我有一個checkBox,當它被檢查時,我想啟用一個表及其子控件,當它被禁用時,我想做相反的事情。

我已經明白我必須迭代表的所有子控件,我的問題是,是否有任何好的和通用的方法。

提前致謝,

盎司

你可以用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;        
}

使用框架(例如使用Prototype.js)使用選擇器和類名更容易。

單擊此項目時,啟用“mycontrols”類的所有項目。

$('containerDiv').select('.mycontrols').each(function(element){element.disabled=false})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM