复选框检查事件监听器

时间:2013-01-27 03:26:09

标签: javascript html google-chrome javascript-events google-chrome-extension

最近我一直在使用Chrome插件API,我希望开发一个插件,让我更轻松地管理网站。

现在我想要做的是在选中某个复选框时触发事件。 由于此网站不属于我,因此我无法更改代码,因此我使用的是Chrome API。其中一个主要问题是,有一个名称而不是ID。我想知道一旦选中带有'name'的复选框,我是否可以启动该功能。

由于

4 个答案:

答案 0 :(得分:69)

假设您正在使用此标记:

<input type="checkbox" name="checkbox">

没有jQuery

使用类似jQuery的querySelector

var checkbox = document.querySelector("input[name=checkbox]");

checkbox.addEventListener( 'change', function() {
    if(this.checked) {
        // Checkbox is checked..
    } else {
        // Checkbox is not checked..
    }
});

使用jQuery

$('input[name=checkbox]').change(function(){
    if($(this).is(':checked')) {
        // Checkbox is checked..
    } else {
        // Checkbox is not checked..
    }
});

答案 1 :(得分:40)

由于我在OP中看不到jQuery标记,因此这里只有 javascript 选项:

document.addEventListener("DOMContentLoaded", function (event) {
    var _selector = document.querySelector('input[name=myCheckbox]');
    _selector.addEventListener('change', function (event) {
        if (_selector.checked) {
            // do something if checked
        } else {
            // do something else otherwise
        }
    });
});

参见 JSFIDDLE

答案 2 :(得分:0)

如果您的html中有一个复选框,例如:

<input id="conducted" type = "checkbox" name="party" value="0">

并且您想要使用javascript将EventListener添加到此复选框中,在关联的js文件中,您可以执行以下操作:

checkbox = document.getElementById('conducted');

checkbox.addEventListener('change', e => {

    if(e.target.checked){
        //do something
    }

});

答案 3 :(得分:-3)

你需要这样的东西:

$("input[name='checkbox_name']").click(function() {
...
});