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 がチェックされていないことを確認してください。条件は、チェックボックス 2 と 3 にそれぞれ適用されます。

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 に答える