Javascript jQuery-如何在click event jQuery中使用每个()?
请参阅我的html代码: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
<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;
}
});