Checkbox Check Event Listener

Недавно я работал с API плагинов Chrome и ищу плагин, который облегчит мне управление веб-сайтом.

Теперь я хочу запустить событие, когда установлен определенный флажок. Поскольку этот сайт не принадлежит мне, я не могу изменить код, поэтому я использую Chrome API. Одна из основных проблем заключается в том, что вместо идентификатора существует имя. Мне было интересно, смогу ли я запустить функцию, когда установлен флажок с именем.

Ответы

Ответ 1

Предполагая, что вы используете эту разметку:

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

Ответ 2

Так как я не вижу тега jQuery в OP, вот только вариант 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

Ответ 3

Если в вашем html файле есть флажок, например:

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

и вы хотите добавить EventListener к этому флажку, используя javascript, в своем связанном js файле вы можете сделать следующее:

checkbox = document.getElementById('conducted');

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

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

});

Ответ 4

Вам нужно что-то вроде этого:

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