0

我有可重复的元素

     <input style="display:inline" class="chkClass" type="checkbox" value="1"/>
     <div class="other">
 //something
     </div>

     <input style="display:inline" class="chkClass" type="checkbox" value="1"/>
     <div class="other">
 //something
     </div>
     ....

随着复选框的更改,我只想显示下一个“其他”类。它不起作用:

     $('.other').hide(); //hide all "other" elements

         $('.chkClass').live('change', function(){
            if($(this).is(':checked')){
                $(this).next('.other').show();
        }
       });
4

2 回答 2

0

将 nextAll 与查询一起使用

$('.chkClass').on('change', function(){
       if($(this).is(':checked')){
          $(this).nextAll('.other:hidden:first').show();
       }
});
于 2012-07-14T19:21:45.197 回答
0

我明白了,但我需要为每个元素设置 ID:

    $('.allOther').hide();


    $('.chkClass').on('change', function(){
            if($(this).is(':checked')){
                var array = $(this).attr('id').split('_');
                $('#other'+array[1]).show("slow");

            }
        });

        <input style="display:inline" class="chkClass" id="smthng_<?php echo $counter ?>" type="checkbox" value="1"/>
    <div id ="other<?php echo $counter ?>" class="allOther">
于 2012-07-15T11:06:34.483 回答