2013-09-29 3 views
-2

Например, если я установил первый флажок, тогда также будет установлен второй флажок, второй флажок будет зависеть от первого флажка. У меня есть 8checkboxes, так что они 4 пары и в формате массива. Как я мог это сделать?Как проверить 2 флажка вместе?

+0

Добавьте код, пожалуйста. –

+0

связать обработчик при первом событии изменения флажка. Этот обработчик должен установить второе свойство checkbox * checked * в соответствии с первым флажком. Ты это пробовал? – kasitan

+0

В чем проблема? – nni6

ответ

3

Существует несколько способов сделать это. Ниже приведена только одна из этих возможностей (см. Также это fiddle). Но не будет работать в старых IE из-за отсутствия поддержки addEventListener изначально. Более подробная информация о том, что можно найти здесь: addEventListener on mdn

<input id="first-checkbox" type="checkbox" name="first"> 
<input id="second-checkbox" type="checkbox" name="second"> 

document.getElementById("first-checkbox").addEventListener("change", function() { 
    document.getElementById("second-checkbox").checked = this.checked; 
}); 

Примечание: это указывает на «второй флажок зависит от первого», но не будет работать наоборот. Вы могли бы сохранить ссылки на элементы, добавив обработчик кликов к обоим из них, а затем установите текущее состояние проверки флажком не нажав. Также этот код сбросит установленное состояние во втором флажке, если первый флажок снят. (Я не был уверен в том, что вы читаете свой вопрос, что именно вы хотите сделать.)

+2

Привязать к событию 'change' вместо события' click'. Состояние флажка также можно изменить с помощью клавиатуры. –

+1

Также вы можете избежать перемещения DOM путем кеширования ваших селекторов. – Pavlo

+0

@Pavlo 'document.getElementById' является одним из наиболее эффективных методов выбора DOM. Использование его оказывает незначительное влияние на производительность. –

Смежные вопросы