0

2 種類の行 (メイン行とサブ行) を持つテーブルがあります。メイン行の行 ID は「mainRow」+prId(tr の属性)です。サブ行の行 ID は「subRow」+prId(tr の属性)+rowNo です。

私がしなければならないことは、サブ行のすべてのチェックボックスがチェックされている場合、メイン行のチェックボックスをチェックする必要があるということです。誰か助けてくれませんか。

<tr id="mainRow2" prId = "2"><td><input type="checkbox" id="main0" ></td></tr>
    <tr id="subRow2_1" prId = "2"><td><input type="checkbox" id="subRow2_1_1" ></td></tr>
    <tr id="subRow2_2" prId = "2"><td><input type="checkbox" id="subRow2_2_1" ></td></tr>
    <tr id="subRow2_3" prId = "2"><td><input type="checkbox" id="subRow2_3_1" ></td></tr>

<tr id="mainRow5" prId = "5"><td><input type="checkbox" id="main1" ></td></tr>
    <tr id="subRow5_1" prId = "5"><td><input type="checkbox" id="subRow5_1_1" ></td></tr>
    <tr id="subRow5_2" prId = "5"><td><input type="checkbox" id="subRow5_2_1" ></td></tr>
    <tr id="subRow5_3" prId = "5"><td><input type="checkbox" id="subRow5_3_1" ></td></tr>
    <tr id="subRow5_4" prId = "5"><td><input type="checkbox" id="subRow5_4_1" ></td></tr>
4

1 に答える 1

0

次の jQuery コードをページに追加します (ページに jQuery スクリプトが含まれていることを確認してください)。

チェックボックスの構成が間違っているため、テーブルの再編成に取り組む必要があります。

$('input').change(function() {

  $("tr[id^='mainRow']").each(function(i,v){
    var id = $(v).attr('id');
    id = id.split('mainRow')[1];
    var subs = $("input[id^='subRow"+id+"']");
    var checkedSubs = $("input[id^='subRow"+id+"']:checked");
    console.log(checkedSubs.length);

    if(subs.length == checkedSubs.length)
      $('input',v).attr('checked',true);
    else
      $('input',v).attr('checked',false);
  });

});

実例はこちら。

于 2013-08-29T05:10:01.967 に答える