我有一个问题,我似乎无法解决如何解决它。我有两个复选框,它们都具有值5.我只需要在选中复选框时将值5添加到变量,并在取消选中时扣除5。我一直在使用jQuery,但到目前为止,我只设法添加5,当它们都被检查时它增加了10。它现在没有扣除任何东西。由于我有一些我正确检查的单选按钮,我的代码就是这个。
$(":checked").each(function(){
if ($(this).attr("type") == "checkbox"){
pricediff += 5;
}
}
作为每个使用的函数,当它们都被选中时,它会增加10。当然,这不是必需的。当未选中复选框时,它仍然必须扣除5。我不知道该怎么做 - 我有点像jQuery和JavaScript的菜鸟。任何人都可以帮我吗?感谢
P.S。这不是确切的代码,而只是它的主旨。
答案 0 :(得分:2)
@rahul有一个很好的答案,但这意味着所有复选框的值必须为5.
试试此演示:http://jsfiddle.net/2WJZ4/
HTML:
<input type="checkbox" class="test" value="5" />
<input type="checkbox" class="test" value="7" />
<input type="checkbox" class="test" value="2" />
<input type="checkbox" class="test" value="1" /><br />
<span id="result">0</span>
脚本:
$(function(){
$("input.test").change(function(){
var $this = $(this);
var value = $this.val();
var checked = $this.is(":checked");
if (checked) value = -value;
var $r = $('#result');
$r.text( (+$r.text()) - value)
});
});
PS。 @rahul很棒的小提琴页面!!!
答案 1 :(得分:1)
var placediff;
function calc()
{
var n = $("input:checked").length;
pricediff = n*5;
}
$(":checkbox").click(calc);
答案 2 :(得分:1)
示例HTML
<input type="checkbox" class="test" />
<input type="checkbox" class="test" />
<input type="checkbox" class="test" />
<input type="checkbox" class="test" /><br />
<span id="result">0</span>
脚本
$(function(){
$("input:checkbox.test").click(function(){
var checked = $("input:checkbox.test:checked").length;
var checkedValue = checked * 5;
$("#result").text(checkedValue)
});
});