Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.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 jQuery-如何在click event jQuery中使用每个()?_Javascript_Jquery_Dom - Fatal编程技术网

Javascript jQuery-如何在click event jQuery中使用每个()?

Javascript jQuery-如何在click event jQuery中使用每个()?,javascript,jquery,dom,Javascript,Jquery,Dom,请参阅我的html代码: <form action="#" class="check_opt" id="ckPrice"> <p><input class="niceCheck" type="checkbox" name="" value="0-49">3 millions - 10 millions (21)</p> <p><input class="niceCheck" type="checkbox" name

请参阅我的html代码:

<form action="#" class="check_opt" id="ckPrice">
    <p><input class="niceCheck" type="checkbox" name="" value="0-49">3 millions - 10 millions (21)</p>
    <p><input class="niceCheck" type="checkbox" name="" value="50-99"> >10 millions - 15 millions (7)</p>
    <p><input class="niceCheck" type="checkbox" name="" value="100">15 millions and above (15)</p>
</form>

300万-1000万(21)

超过1000万-1500万(7)

1500万及以上(15)

和jQuery代码:

<script type="text/javascript"> 
    $(document).ready(function() { 
        $('#ckPrice :checkbox').click(function() { 
            var price = 'abc'; 
            $(".niceCheck").each(function() { 
                if ($(".niceCheck").is(":checked")) { 
                    price += $(".niceCheck").value(); 
                } 
            }); 
        alert(price); 
        }); 
     }); 
</script>

$(文档).ready(函数(){
$('#ckPrice:checkbox')。单击(函数(){
var价格=‘abc’;
$(“.niceCheck”).each(函数(){
如果($(“.niceCheck”).是(“:checked”){
价格+=$(“.niceCheck”).value();
} 
}); 
警报(价格);
}); 
}); 
底部jQuery代码中的警报函数仅返回“abc”。我应该怎么做?

更改:

if ($(".niceCheck").is(":checked")) {
    price += $(".niceCheck").value();
}
致:

您的
.each()
调用正在通过所需的元素循环,您需要通过
$(this)
引用它们。jQuery也使用
.val()
而不是
.value()
。当然,由于有不寻常的值,最终结果将是一个类似“abc50-99100”的字符串


您正在对照第一个进行检查

 $(".niceCheck").each(function() { 
    var check = $(this);
    if (check.is(":checked")) { 
        price += check.val(); 
    } 
 });
 alert(price); 

您的每个函数都应该使用此

$(".niceCheck").each(function() { 
    if ($(this).is(":checked")) { 
        price += this.value;
    } 
}); 

这是jQuery代码:$(文档).ready(函数(){$('.#ckPrice:checkbox')。单击(函数(){var price='abc';$(“.niceCheck”)。每个(函数(){if($(.niceCheck”).is(“:checked”){price+=$(.niceCheck”).value();});警报(price);})<代码>输入元素不应包装在
p
元素中。改用
标签
。同样,您的
+=
将给出一个奇数结果,值为“0-49”、“50-99”和“100”-选择全部3个值将得到“0-4950-99100”。@JamesDonnelly感谢您的回答。您好,我想选择选中的值。我应该执行$(this).val();而不是$(“.niceCheck”).value();,这是行不通的。此外,我想使用click事件,然后使用each()方法来获取所有检查的值。谢谢你的回答。对不起,我正要纠正这个问题,但有一个小问题需要紧急响应。没问题!我很高兴当你修正了你的答案,现在它工作了。非常感谢!你好
$(".niceCheck").each(function() { 
    if ($(this).is(":checked")) { 
        price += this.value;
    } 
});