Jquery在单击时添加值
在执行单击功能时,我在计算值时遇到问题 我有一些简单的单选按钮:Jquery在单击时添加值,jquery,Jquery,在执行单击功能时,我在计算值时遇到问题 我有一些简单的单选按钮: <input type="radio" name="product1" class="price" value="4" /> 4 <input type="radio" name="product2" class="price" value="6" /> 6 好,其他问题 如果我们有两个单独的单击功能,比如: <input type="radio" name="product1" class="pr
<input type="radio" name="product1" class="price" value="4" /> 4
<input type="radio" name="product2" class="price" value="6" /> 6
好,其他问题
如果我们有两个单独的单击功能,比如:
<input type="radio" name="product1" class="price" value="4" /> 4
<input type="radio" name="product2" class="price" value="6" /> 6
<input type="radio" name="product1" class="number" value="3" /> 3
<input type="radio" name="product2" class="number" value="7" /> 7
如何将.price收音机和.number收音机的值相加?
除此之外,请确保每个按钮只能添加一个值,而不是不管是哪组单选按钮,它都会添加所有值。试试看
var price = 0;
$('.price').click(function() {
price += parseInt($(this).val(), 10);
}
我不认为我从显示/选择价格的元素方面理解了这个问题,因此我只想添加一些提示,希望它们会有用: 要选择给定名称的所有单选按钮(例如“product1”),请执行以下操作: 要选择选中的givan名称的所有单选按钮(只能有一个): 要选择所有选中的单选按钮,而不考虑其名称,请执行以下操作:
$('input:radio:checked')
函数汇总输入元素jQuery集合中的所有值(可解析为数字):
function sumValues($inputs) {
var sum = 0;
$inputs.each(function () { sum += +this.value; });
return sum;
};
然后,处理程序应该如下所示(插入适当的选择器):
$()。单击(函数()){
//将选择器更改为选择所需收音机的选择器
var sum=sumValues($('input:radio[name=“product1”]”);
//这是你的总数
});
您不想更新总和(在事件上),而是需要每次重新计算它
您可能不需要类
,如果名称
属性足以识别要发送到服务器的信息,那么它就应该足够了
我希望这些有帮助。为什么这是
收音机
而不是复选框
(有两个不同的名称,因此有两个独立的收音机
)?另外,您想向其中添加哪些值和/或在添加过程中遇到什么问题(您知道,.val()返回一个字符串…)?我希望编辑可以更好地解释这是一个很好的答案。我只想指出,每次你点击一个单选按钮,它都会增加一个值,即使它以前被添加过。有没有办法确保你只能添加一次?@Chriser你有多少这样的单选按钮。price
或。number
?在你的编辑中,我只有一个,如果是的话,你加起来是什么?@Vega大约有6组单选按钮,大约有4-6个选项。我想能够从每个组点击一个选项和价值将被加起来。如果我改变选择,总数也会改变。
$('input:radio[name="product1"]')
$('input:radio[name="product1"]:checked')
$('input:radio:checked')
function sumValues($inputs) {
var sum = 0;
$inputs.each(function () { sum += +this.value; });
return sum;
};
$(<whatever-triggers-recalc>).click(function() {
// change selector to the one that selects the radios you need summed
var sum = sumValues( $('input:radio[name="product1"]') );
// here, you have your sum
});