鉴于以下HTML内容:
<div class="a_list"><input type="checkbox"></input><p>Testing A list </p></div>
<div class="a_list"><input type="checkbox"></input><p>Testing A list </p></div>
<div class="a_list"><input type="checkbox"></input><p>Testing A list </p></div>
<div class="a_list"><input type="checkbox"></input><p>Testing A list </p></div>
<div class="a_list"><input type="checkbox"></input><p>Testing A list </p></div>
<div class="b_list"><input type="checkbox"></input><p>Testing A list </p></div>
<div class="b_list"><input type="checkbox"></input><p>Testing A list </p></div>
<div class="b_list"><input type="checkbox"></input><p>Testing A list </p></div>
<div class="b_list"><input type="checkbox"></input><p>Testing A list </p></div>
<div class="b_list"><input type="checkbox"></input><p>Testing A list </p></div>
和这个jQuery:
if($(".a_list, .b_list").is(":checked"))
{
} else
{
alert("Please make a selection");
}
答案 0 :(得分:2)
我认为您可能意味着“如何检查至少一个复选框是否已选中?”
<div class="a_list"><input type="checkbox" /><p>Testing A list </p></div>
<div class="a_list"><input type="checkbox" /><p>Testing A list </p></div>
<div class="a_list"><input type="checkbox" /><p>Testing A list </p></div>
<div class="a_list"><input type="checkbox" /><p>Testing A list </p></div>
if (!$(".a_list input:checked, .b_list input:checked").length){
alert("Please make a selection");
}
输入没有</input>
答案 1 :(得分:1)
您的代码:
if($(".a_list, .b_list").is(":checked"))
...检查是否检查了具有类a_list
或b_list
的任何元素,当然它们不会是因为它们都是div。要检查是否有任何此类元素具有已选中的子复选框,您可以改为:
if($(".a_list, .b_list").has(":checked").length > 0)
.has()
method测试jQuery对象中的任何元素是否具有与提供的选择器匹配的后代。 (注意.has()
返回另一个jQuery对象,而不是布尔值。)
如果由于某种原因你决定继续使用.is()
,那么你需要先选择实际的复选框:
if($(".a_list, .b_list").find('input[type="checkbox"]').is(":checked"))
// or
if($('.a_list input[type="checkbox"], .b_list input[type="checkbox"]').is(":checked"))