0

我在我的 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,反之亦然。该条件将分别适用于复选框二和三。

4

2 回答 2

0

在 JSFiddle 中试过这个。陈词滥调看演示

    $(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);
            }
        });
    });
});
于 2012-12-28T21:14:23.930 回答
0

您不需要 jquery 来完成此基本任务,只需为您的复选框命名,然后:

var chk = document.getElementsByName("theName");
for(var i = 0; i < chk.length; i++){
  chk[i].whateverYouWant;
}
于 2012-12-28T21:15:35.577 回答