目標是在勾選一個框時禁用所有複選框。當我在下面使用這個jQuery代碼時,出於某種原因,它不能像在提到的here提到的SO解決方案中那樣工作。帶有禁用功能的角度表格和HTML複選框在剩餘選中框中
在這個例子中,我使用MVC控制器在nodejs和angular stack中填充一個表。當此表顯示時,表中打印的每個名稱旁邊都有一個複選框。 是否有解決方案,當選中一個複選框時,正確禁用在此角度腳本中填充的複選框?
HTML
<table>
<thead>
<th>Names</th>
</thead>
<tr dir-paginate="x in names | filter:search | itemsPerPage:8">
<div class="checkbox" id="nameList">
<td><label><input type="checkbox" name="name" value={{x.name}}> {{ x.name }}</label></td>
</div>
</tr>
</table>
JS
$(document).ready(function(){
$('#nameList input[type=checkbox]').change(function(){
if($(this).is(':checked')){
$('#nameList').find(':checkbox').not($(this)).attr('disabled',true);
}else{
$('#nameList').find(':checkbox').attr('disabled',false);
}
});
})
爲什麼你使用jquery來處理所有這些,如果你使用的是角? – kaushlendras
由於您使用循環來創建複選框,因此這將很難。你可以使用'ng-change'或'ng-click'結合'ng-disabled',但問題是它會禁用你所有的複選框,包括選中的複選框。 – JkAlombro