Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查是否选中了复选框?_Javascript_Jquery - Fatal编程技术网

Javascript 如何检查是否选中了复选框?

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

给定以下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>
我想你的意思可能是“如何检查是否至少选中了一个复选框?”

测试列表

测试列表

测试列表

测试列表

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"))