我的asp.net mvc视图中有一个像这样编码的表:
<table>
<tr>
<td>Option 1<td>
<td>Option 2<td>
<td>Option 3<td>
<td>Option 4<td>
<tr>
foreach(var options in Model)
{
<tr>
<td>@Html.ChecBoxFor(x => x.one)<td>
<td>@Html.ChecBoxFor(x => x.two)<td>
<td>@Html.ChecBoxFor(x => x.three)<td>
<td>@Html.ChecBoxFor(x => x.four)<td>
<tr>
}
<table>
我试图弄清楚如何遍历每一行,然后有条件地切换某些复选框。例如,如果选中复选框1,则确保未选中复选框4,反之亦然。条件将分别适用于复选框2和3。
答案 0 :(得分:0)
在JSFiddle中尝试过这个。陈词滥调看demo
$(function() {
$("#btn").click(function() {
$("tr").each(function() {
var $RowCheckBoxes = $(this).find("input:checkbox");
// if checkbox one is checked then make sure checkbox four is unchecked
if ($RowCheckBoxes.eq(0).is(':checked') == true) {
$RowCheckBoxes.eq(3).prop("checked", false);
}
// The conditon would apply to checkboxes two and three respectively.
if ($RowCheckBoxes.eq(1).is(':checked') == true) {
$RowCheckBoxes.eq(2).prop("checked", false);
}
});
});
});
答案 1 :(得分:0)
这个基本任务你不需要jquery,只需给你的复选框一个名字,然后:
var chk = document.getElementsByName("theName");
for(var i = 0; i < chk.length; i++){
chk[i].whateverYouWant;
}