Я хочу, чтобы то же самое происходило для каждой из серии переключателей, когда они проверяются. До сих пор у меня есть следующий рабочий код:Как сделать это утверждение более эффективным?
if ($("input[type=radio]:checked#rd1").length > 0) {
// do something
} else if ($("input[type=radio]:checked#rd2").length > 0) {
// do something
} else if ($("input[type=radio]:checked#rd3").length > 0) {
// do something
}
я попытался сделать следующее:
if ($("input[type=radio]:checked#rd1"||"input[type=radio]:checked#rd2").length > 0) {...}
и я получил предупреждение сказать, что это было "эвристический недостижимо.
В любом случае, это более компактно?
EDIT: Если отмечены # rd1/# rd2/# rd3, все они выполняют то же самое. // что-то в этом случае означает одинаковый результат для каждого переключателя. Поэтому я хотел бы сделать оператор if более кратким, поскольку он приводит к одному и тому же результату для каждого «проверенного».
, '' вместо «||» 'является правильным syntaxis;) – lmgonzalves
Поскольку существует только одна радиостанция, которая может быть проверена в каждой группе, почему вы не просто связать событие изменения и проверить идентификатор в обработчике? BTW, потому что идентификаторы должны быть уникальными в контексте документа, этого, например, было бы достаточно в качестве селектора: '# rd1: checked'. Тем не менее, вы могли бы предоставить весь соответствующий код в вопросе как HTML-разметку и ожидаемое поведение («сделать что-то»), чтобы сделать ваш вопрос более ясным. EDIT: теперь я просто удивляюсь, что '// что-то делает то же самое для всех ??? –
Почему бы не 'if ($ (" input [type = radio]: checked "). Length> 0) {' вместо всех ваших операторов 'if'. Если у вас нет чужого 'input [type = radio]', то должно работать. – lmgonzalves