1

セルに特定の値がある場合にチェックされるすべての行のカウントを取得できるようにしたいと思います。したがって、以下の表が与えられた場合、ユーザーは行1の横にあるチェックボックスをオンにすると、次のようになります。

選択されたボーナス行=1選択された基本行=0

行2の横のチェックボックスをオンにすると、次の値が表示されます

選択されたボーナス行=2選択された基本行=0

2行目のチェックを外して3行目をチェックすると、次のようになります...

選択されたボーナス行=1選択された基本行=1

この方法で選択された行の総数を取得できます...

$(function(){
var $ck = $('input[type=checkbox]');
    $ck.filter(':checked').length;
)};

どういうわけかセレクターをつなげることはできますか?これは機能しませんが、私が考えたのは...

m1 = $ck.filter(':checked')
               .parents('tr:first')
               .filter('.type')
               .text('Bonus')
               .length;
alert(m1); // returns 0

これがサンプルテーブルです

<table>
    <thead>
    <tr>
        <th>Points</th>
        <th>Bonus</th>
        <th>&nbsp;</th>
    </tr>   
</thead>
<tbody>
    <tr>
        <td class=".points">10</td>
        <td class=".type">Bonus</td>
        <td class=".chkbox"><input type="checkbox"></td>
    </tr>
    <tr>
        <td class=".points">20</td>
        <td class=".type">Bonus</td>
        <td class=".chkbox"><input type="checkbox"></td>
    </tr>
    <tr>
        <td class=".points">10</td>
        <td class=".type">Base</td>
        <td class=".chkbox"><input type="checkbox"></td>
    </tr>
    <tr>
        <td class=".points">20</td>
        <td class=".type">Base</td>
        <td class=".chkbox"><input type="checkbox"></td>
    </tr>
</tbody>

4

1 に答える 1

0

あなたはこれを試すことができます

var chk=$('td.chkbox input:checkbox');
chk.on('change', function(){
    var checked=chk.filter(':checked');
    var bonus=0, base=0;
        checked.filter(function(){ 
        bonus+=$(this).closest('tr').find('td.type:contains("Bonus")').length;
        base+=$(this).closest('tr').find('td.type:contains("Base")').length;
    });
    $('div#result').html('Bonus rows selected = '+bonus+' Base rows selected = '+base);
});

また注意しclass=".className"てくださいclass="className"

ここに例があります。

于 2012-12-23T03:05:45.923 に答える