Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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,这里的一位优秀成员帮助我建立了一个多复选框示例,用于存储要在div中显示的数据。但是,当我尝试执行多个复选框时,它们相互交错,并在div中显示相同的数据,即使我更改了变量 我在这里举了一个简单的例子: 感谢大家抽出时间:)这是因为您在两个事件处理程序中使用了相同的选择器:input[type=“checkbox”]:checked 这将选中页面中的所有复选框输入 您应该改为使用input[name=“car[]”:checked和input[name=“phone[]”:checked 每次仅

这里的一位优秀成员帮助我建立了一个多复选框示例,用于存储要在div中显示的数据。但是,当我尝试执行多个复选框时,它们相互交错,并在div中显示相同的数据,即使我更改了变量

我在这里举了一个简单的例子:


感谢大家抽出时间:)

这是因为您在两个事件处理程序中使用了相同的选择器:
input[type=“checkbox”]:checked

这将选中页面中的所有复选框输入

您应该改为使用
input[name=“car[]”:checked
input[name=“phone[]”:checked

每次仅选择具有给定名称的输入。

在两个函数中,您都选择了所有选中的复选框。我的解决方案(其他人可能会有更好的解决方案)是将唯一ID添加到li周围的ul

html:

<ul id='electronics'>
<li><input type="checkbox" name="phone[]" value="Nokia" />Nokia</li>
查看,了解更多信息


基本上,没有这个或类似的改变,你的汽车品牌和你的电子品牌列表没有什么区别,你的点击处理器都会考虑所有选中的复选框。

谢谢约书亚,这真的很有用:谢谢你,这正是我所要寻找的:)
$('#submit').click(
    function()
    {
        var htmls = "";
        $('ul#electronics>li>input[type="checkbox"]:checked').each(
            function()
            {
                htmls += $(this).val() + " ";
            }
        );

        $('.here').html(htmls);
    }
);