Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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 将相同的事件处理程序添加到单选按钮和复选框_Javascript_Jquery_Checkbox_Radio Button - Fatal编程技术网

Javascript 将相同的事件处理程序添加到单选按钮和复选框

Javascript 将相同的事件处理程序添加到单选按钮和复选框,javascript,jquery,checkbox,radio-button,Javascript,Jquery,Checkbox,Radio Button,我正在尝试使用一个函数来添加所选复选框和单选按钮的值。我已经创建了一个可以添加复选框值的函数和一个单选按钮的函数,但是我很难将这两个函数组合成一个工作函数。我认为我的问题在于将radio和checkbox元素都与关联。click() 我的代码可以在这里看到: HTML是: <input type="checkbox" value="1" />test 1<br/> <input type="checkbox" value="2" />test 2<br

我正在尝试使用一个函数来添加所选复选框和单选按钮的值。我已经创建了一个可以添加复选框值的函数和一个单选按钮的函数,但是我很难将这两个函数组合成一个工作函数。我认为我的问题在于将radio和checkbox元素都与
关联。click()

我的代码可以在这里看到:

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构造函数的第一个参数中使用逗号组合实际的选择器,类似于CSS选择器:

$("input:checkbox, input:radio").click(function() {
  …
});
实际上,您正在使用,并且只将事件处理程序添加到第二个jQuery对象。相反,在jQuery构造函数的第一个参数中使用逗号组合实际的选择器,类似于CSS选择器:

$("input:checkbox, input:radio").click(function() {
  …
});

给你答案


给你答案

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);
    });
});