我正在尝试添加一个功能,添加所选复选框和单选按钮的值。我创建了一个功能,可以添加复选框的值和单选按钮的功能,但我很难将两者合并为一个工作功能。我认为我的问题在于同时使用与.click()
我的代码可以在这里看到: https://jsfiddle.net/Buleria28/nz43u7x8/2/
HTML是:
<input type="checkbox" value="1" />test 1<br/>
<input type="checkbox" value="2" />test 2<br/>
<input type="checkbox" value="3" />test 3<br/>
<input type="radio" name="test" value="1" />test 4
<input type="radio" name="test" value="2" />test 5
<div id='sum'></div>
jQuery是:
jQuery(document).ready(function($) {
var sum = 0;
$("input:checkbox"),$("input:radio").click(function() {
sum = 0;
$("input:checkbox:checked").each(function(idx, elm) {
sum += parseInt(elm.value, 10);
});
sum = 0;
$("input:radio:checked").each(function(idx, elm) {
sum += parseInt(elm.value, 10);
});
$('#sum').html(sum);
});
});
答案 0 :(得分:2)
您实际上正在使用comma operator并且只将事件处理程序添加到第二个jQuery对象。而是通过在jQuery构造函数的第一个参数中使用逗号来组合实际的选择器,类似于CSS选择器:
$("input:checkbox, input:radio").click(function() {
…
});
答案 1 :(得分:1)
您可以使用解决方案https://jsfiddle.net/nz43u7x8/5/
jQuery(document).ready(function($) {
var sum = 0;
$("input:checkbox, input:radio").click(function() {
sum = 0;
$("input:checkbox:checked").each(function(idx, elm) {
sum += parseInt(elm.value, 10);
});
$("input:radio:checked").each(function(idx, elm) {
sum += parseInt(elm.value, 10);
});
$('#sum').html(sum);
});
});