2016-08-22 108 views
0

如何在特定的ul下选择li中的所有输入复选框?jQuery选择ul li下的所有输入

我:

<ul id="something"> 
    <li> 
     <input type="checkbox"> 
    </li> 
    <li> 
     <input type="checkbox"> 
    </li> 
    ... 
</ul> 

感谢

回答

2

您可以使用$('ul li input[type=checkbox]')

这里是工作的例子,你可以看到console.log将只显示输入的A,B,d(因为c的类型不是复选框)。

checkboxes = $('ul li input[type=checkbox]') 
 

 
checkboxes.each(function(e) { 
 
    console.log($(this).attr('name')); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul id="something"> 
 
    <li> 
 
     <input name="a" type="checkbox"> 
 
    </li> 
 
    <li> 
 
     <input name="b" type="checkbox"> 
 
    </li> 
 
    <li> 
 
     <input name="c" type="text"> 
 
    </li> 
 
    <li> 
 
     <input name="d" type="checkbox"> 
 
    </li> 
 
</ul>

+0

正是我在找什么,谢谢 – arthur

-1

此代码将让你获得的所有输入的HTML

jQuery(document).ready(function() 
    { 
     jQuery("ul#something li").each(function(index) { 
     var html = jQuery(this).find('input[type=checkbox]').html(); 
     console.log(html);   
     }); 
    }); 
+0

看到我的答案后修复代码真的不是**很好! – Dekel

+0

@Dekel:你展示了另一个过程,我使用循环... – Arif

+0

你忘了提及你的原始代码是'jQuery(this).find('input')。html();',它不会得到复选框 – Dekel

0

您应该能够使用该ID选择您的UL这样的:

var checkboxes = $("#something li input[type=checkbox]"); 
 

 
checkboxes.each(function(e) { 
 
    console.log($(this).attr('name')); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul id="something"> 
 
    <li> 
 
     <input name="a" type="checkbox"> 
 
    </li> 
 
    <li> 
 
     <input name="b" type="checkbox"> 
 
    </li> 
 
    <li> 
 
     <input name="c" type="text"> 
 
    </li> 
 
    <li> 
 
     <input name="d" type="checkbox"> 
 
    </li> 
 
</ul> 
 

 
<ul id="not-these"> 
 
     <li> 
 
     <input name="a-no" type="checkbox"> 
 
    </li> 
 
    <li> 
 
     <input name="b-no" type="checkbox"> 
 
    </li> 
 
    <li> 
 
     <input name="c-no" type="text"> 
 
    </li> 
 
    <li> 
 
     <input name="d-no" type="checkbox"> 
 
    </li> 
 
</ul>