Или оператор в селекторе - PullRequest
0 голосов
/ 01 апреля 2020

Я пытаюсь получить предупреждение, когда один из этих флажков с классами backCheckbox, backCheckbox2, backCheckbox3 установлен.

Я пытался что-то подобное, но не работает:

$(['.badCheckbox'], ['.badCheckbox2'], ['.badCheckbox3']).change(function(){
    if(this.checked)
        alert("Bad checkbox!");
});

HTML:

<input class="badCheckbox" type="checkbox"/>
<input class="badCheckbox2" type="checkbox"/>
<input class="badCheckbox3" type="checkbox"/>

Ответы [ 2 ]

2 голосов
/ 01 апреля 2020

Оператор "или" в селекторах jQuery (CSS) - запятая: ".classA, .id1, pre"
Вы задаете для jQuery строку, которая является селектором, как вы написали бы ее в CSS. Это должна быть одна строка, поэтому один набор кавычек, либо ' или "

$('.badCheckbox, .badCheckbox2, .badCheckbox3')

... но классы дон не должно быть уникальным, и на самом деле не должно быть . То, что у вас есть, должно использовать уникальный id , если вам нужно идентифицировать их по отдельности, вместе с общим class - что-то вроде

<input id="badCheckbox1" class="badcheckbox" type="checkbox"/>
<input id="badCheckbox2" class="badcheckbox" type="checkbox"/>
<input id="badCheckbox3" class="badcheckbox" type="checkbox"/>

Тогда ваш jquery становится

$('.badcheckbox').change(function() {
    if(this.checked) {
        alert("Bad checkbox!");
    } // always use braces
});
0 голосов
/ 01 апреля 2020

Маленький вопрос: почему вы используете следующие скобки: ['.badCheckbox'] , ['.badCheckbox2'] , ['.badCheckbox3'] ?

Не важно, вы можете выбрать несколько элементов в jQuery, добавив запятая между всеми.

Вот пример:
$(".firstClass, .secondClass, .thirdClass")

Итак, ваш код должен быть таким:

$(".badCheckbox, .badCheckbox2, .badCheckbox3").change(function(){
    if(this.checked)
        alert("Bad checkbox!");
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...