如何在几个复选框上输入'onchange'事件

时间:2014-06-02 14:27:57

标签: javascript jquery event-handling

我有这个复选框:

<input type="checkbox" name="foo[]" value="111111">
<input type="checkbox" name="foo[]" value="222222">
<input type="checkbox" name="foo[]" value="333333">

我正在尝试从所选复选框中获取值

    $("input:checkbox[name^='foo']").each(function(){
        var val = $(this).val();
        alert(val);
    });

但事件没有被调用。我做错了吗?

抱歉英语不好!

3 个答案:

答案 0 :(得分:1)

请勿使用each

使用.on('change')为您的活动。 this.value也比$(this).val()更容易。

http://jsfiddle.net/65u2t/

$("input:checkbox[name^='foo']").on('change', function () {
    var val = this.value;
    alert(val);
});

答案 1 :(得分:1)

使用is(":checked")检查是否选中了复选框

$("input:checkbox[name^='foo']").click(function () {
    $("input:checkbox[name^='foo']").each(function () {
        if ($(this).is(":checked")) {
            alert($(this).val());
        }
    });
});

Demo

答案 2 :(得分:1)

我们很多人为获得DOM准备了一些非常基础的东西:

$(function() {
    $(":checkbox[name^='foo']").on('change', function () {
        alert(this.value + ' --- ' + this.checked);
    });
});

JS FIDDLE DEMO