0

ここに画像の説明を入力

コード 6000 にチェックを入れるにはどうすればよいですか? 7000 の間のチェックボックスが自動的にチェックされますか? 7000がチェックされている場合、これは7000と7004の間にもなります

    $('.mGrid tr').each(function () {
    if (!this.rowIndex) return;
    if ($(this).find("td:eq(2)").text() =='S') {
        $(this).css({
            'font-weight': '800',
            'background-color': '#DBFF94',
            'border' : '2px solid black'
        });

    }
});
<table class="mGrid" cellspacing="0" rules="rows" border="1" id="GridView1" style="border-collapse:collapse;">
            <tr align="left">
                <th scope="col">
                                <span class="chkHeader"><input id="GridView1_chkAll" type="checkbox" name="ctl00$MainContent$nnn$GridView1$ctl01$chkAll" /></span>
                            </th><th scope="col">Code</th><th scope="col">Sub Code</th><th scope="col">Title</th><th scope="col">Description</th><th class="HiddenColumn" scope="col">&nbsp;</th>
            </tr><tr>
                <td>
                                <span class="chkItem"><input id="GridView1_chkCheck_0" type="checkbox" name="ctl00$MainContent$nnn$GridView1$ctl02$chkCheck" /></span>
                            </td><td>1000</td><td>S</td><td>Main</td><td>Summary of everything </td><td class="HiddenColumn"><a href="javascript:__doPostBack(&#39;ctl00$MainContent$nnn$GridView1&#39;,&#39;Select$0&#39;)">Select</a></td>
            </tr><tr class="alt">
                <td>
                                <span class="chkItem"><input id="GridView1_chkCheck_1" type="checkbox" name="ctl00$MainContent$nnn$GridView1$ctl03$chkCheck" /></span>
                            </td><td>6000</td><td>S</td><td>Report</td><td>All Reports</td><td class="HiddenColumn"><a href="javascript:__doPostBack(&#39;ctl00$MainContent$nnn$GridView1&#39;,&#39;Select$1&#39;)">Select</a></td>
            </tr>
        </table>

html部分を追加しました。ちょっと面倒です

####更新しました

たとえば、6001 ~ 6005 のいずれかにチェックを入れると、コード 6000 のチェックボックスが自動的にチェックされます。$(this).closest('tr').prevUntil('tr.lights').css('background-color','black'); prevUntil を試してみましたが、ほぼすべての prev $(this).closest('tr').prev('tr.lights').css('background-color','black'); が強調表示されます。これは、緑色の行に近い場合にのみ強調表示できます

4

2 に答える 2

0

作業バージョンをチェックしてくださいhttp://jsbin.com/edamuh/3/edit

次のHTMLがある場合(入力は兄弟であることに注意してください)

  1<input type="checkbox"/>
  2<input type="checkbox"/>
  3<input type="checkbox"/>
  4<input type="checkbox"/>
  5<input type="checkbox"/>
  6<input type="checkbox"/>
  7<input type="checkbox"/>
  8<input type="checkbox"/>
  9<input type="checkbox"/>
  0<input type="checkbox"/>

次のスニペットを使用して、次のチェックボックスがオンになるまでチェックボックスをオンにすることができます

 $('input').click(function(){
    var $t = $(this);
    var unchkds = $t.nextUntil('input:checked', 'input[type="checkbox"]');
    var allInputsAfterN = $t.nextAll('input').length;
    if(unchkds.length > 0 && unchkds.length != allInputsAfterN) {
       console.log(unchkds.length + " unchecked after. " + allInputsAfterN + " total after");
      unchkds.prop('checked', true);
    }
  });

チェックボックスを逆方向にチェックするには、同様のことを行う必要があります(prevUntilとprevAllを使用)

于 2013-03-22T08:53:51.140 に答える
0

コンテンツが動的に作成されている場合は、次のようにグループ化された要素にカスタム属性を追加できますdata-group="6000"

$('[data-group]').click(function(){
$("[data-group='"+this.attr('data-group')+"']").attr('checked','checked');
});
于 2013-03-22T08:38:45.387 に答える