0

htmlタグを使用したツリービューがあります。「tvcheckboxattrParent」がチェックされている場合、JQueryを使用してチェックされたすべての子「tvcheckboxattr」をカウントするにはどうすればよいですか。

 <li class="others"><input type="checkbox" value="ALPHABETS" class="tvcheckbox attrParent">ALPHABETS
    <ul>
        <li><input type="checkbox" class="tvcheckbox attr" value="A">A</li>
        <li><input type="checkbox" class="tvcheckbox attr" value="B">B</li>
        <li><input type="checkbox" class="tvcheckbox attr" value="C">C</li>
        <li><input type="checkbox" class="tvcheckbox attr" value="D">D</li>
        <li><input type="checkbox" class="tvcheckbox attr" value="E">E</li>
        <li><input type="checkbox" class="tvcheckbox attr" value="F">F</li>
    </ul>
</li>

私は試した

   `$('input.tvcheckbox.attrParent:checked').each(function(){
           var len = $(this).parent().children(".checked").length;
    });`

しかし、成功していません。誰か助けてもらえますか?前もって感謝します。

4

5 に答える 5

3

私は答えを見つけたと思います:

$(this).parent().find('input.tvcheckbox.attr:checked').length;

とにかく、すべてのビューをありがとう。:)

于 2012-05-10T05:58:18.700 に答える
0
  var len = 0 ;

$('.others').find('li').each(function(){

      if($(this).find('checkbox').is(':checked'))
      { 
          len++;
      }    

});
于 2012-05-10T05:58:09.723 に答える
0

残りのセレクターが正しいと仮定します。

$('input.tvcheckbox.attrParent:checked').each(function(){
   var len = $(this).parent().children(":checked").length;
});

:checkedセレクターについて詳しくはこちらをご覧ください

于 2012-05-10T05:59:31.323 に答える
0
$('.tvcheckbox.attrParent').change(function(){
alert($('.tvcheckbox.attr:checked').length)
    });​

JsFiddleのデモを見る

于 2012-05-10T06:04:18.877 に答える
0

ここに作業サンプルがあります。このサンプルでは、​​チェック ボックスのグループ化は試していません。

<html>
  <head>
    <title>Check Test</title>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
    <script type="text/javascript">
        $(function () {
            $("#btnGet").click(function () {
                var checkedItems = "";
                $("input[type='checkbox']").each(function (i) {
                    if ($(this).attr("checked") == true) {
                        checkedItems += "," + $(this).val();
                    }
                });
                alert(checkedItems.slice(1));
            });
        });
    </script>
  </head>
  <body>
    <input type="checkbox" value="ALPHABETS" class="tvcheckbox attrParent" />ALPHABETS
    <ul>
        <li><input type="checkbox" class="tvcheckbox attr" value="A" />A</li>
        <li><input type="checkbox" class="tvcheckbox attr" value="B" />B</li>
        <li><input type="checkbox" class="tvcheckbox attr" value="C" />C</li>
        <li><input type="checkbox" class="tvcheckbox attr" value="D" />D</li>
        <li><input type="checkbox" class="tvcheckbox attr" value="E" />E</li>
        <li><input type="checkbox" class="tvcheckbox attr" value="F" />F</li>
    </ul>
    <input type="button" value="Get checked" id="btnGet"/>
  </body>
</html>
于 2012-05-10T06:26:32.297 に答える