Javascript 如何检查是否选中了复选框?
给定以下HTML内容:Javascript 如何检查是否选中了复选框?,javascript,jquery,Javascript,Jquery,给定以下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> <di
<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>
我想你的意思可能是“如何检查是否至少选中了一个复选框?”
测试列表
测试列表
测试列表
测试列表
if(!$(“.a\u列表输入:选中,.b\u列表输入:选中”).length){
提醒(“请选择”);
}
输入没有您的代码:
if($(".a_list, .b_list").is(":checked"))
…检查是否检查了类为a_列表
或b_列表
的元素,当然不会检查,因为它们都是div。要检查这些元素是否有选中的子复选框,您可以说:
if($(".a_list, .b_list").has(":checked").length > 0)
其中,测试调用它的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"))
您的代码没有复选框。如果确实如此,JS会询问是否选中了包含类为.a_list或.b_list的所有复选框的对象。如果第一个被选中,它将返回true,但它不会测试它们是否都被选中并告诉您。请更详细地解释。你的代码不起作用怎么办?此外,您的HTML没有复选框。
无效。在你进入JS之前,回顾一下你的HTML技能。竖起大拇指,快乐编码!这个问题(标题)仍然模棱两可。您的HTML现在可能有复选框,但技术上也没有,因为您的
标记都不是有效的HTML。您仍然无法解释当前jQuery的问题所在。感谢您理解我的问题,我将尝试一下。@Derek,虽然我们不是所有人都喜欢HTML5(就像我们所有人都应该做的那样),但在给出明确声明之前,您必须更加具体。我们受够了学校;)很抱歉,也许我应该这样说:输入
末尾的/
在HTML5中定义是不必要的。谢谢你指出这一点。我仍然更喜欢XHTML自动关闭标记-它们在语义上更有意义,它们在HTML5中有效(因为它们始终有效),因此我将继续使用它们(纯粹出于语义原因)。@Derek不仅仅是HTML5,任何版本的HTML。只有XHTML需要自动关闭标记。
if($(".a_list, .b_list").has(":checked").length > 0)
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"))