Я использую следующий фрагмент кода, чтобы создать все флажки для выбора / отмены выбора:
http://www.wiseguysonly.com/2010/01/15/select-and-unselect-all-checkboxes-with-jquery/
Это отличная помощь, но просто интересно, как вы можете локализовать соответствующие флажки только для тех, которые являются братьями и сестрами (т.е. в той же группе li
элементов) поля выбора / отмены выбора.
У меня есть несколько списков чекбоксов, генерируемых динамически (так сложно дать им разные классы селекторов для таргетинга с вариациями сценария), каждый из которых имеет флажок выбора / отмены выбора. В настоящее время проверка одного влияет на всю группу флажков.
(UPDATE)
Извините, вот пример кода -
HTML -
<ul>
<li class="select-all" ><input type="checkbox" name="select-all" onclick="toggleChecked(this.checked)"> Select / Deselect All</li>
<li><input class="principal-group" type="checkbox" /> 1</li>
<li><input class="principal-group" type="checkbox" /> 2</li>
<li><input class="principal-group" type="checkbox" /> 3</li>
</ul>
<ul>
<li class="select-all" ><input type="checkbox" name="select-all" onclick="toggleChecked(this.checked)"> Select / Deselect All</li>
<li><input class="principal-group" type="checkbox" /> 1</li>
<li><input class="principal-group" type="checkbox" /> 2</li>
<li><input class="principal-group" type="checkbox" /> 3</li>
</ul>
и Jquery, который в настоящее время не различает две группы братьев и сестер -
function toggleChecked(status) {
$(".principal-group").each( function() {
$(this).attr("checked",status);
})
}
Это сформулировано иначе, чем ваши предложения, как ответ на изменение статуса.