ok. Как вы видете. У меня есть неэффективный код.JQuery Как я могу использовать этот код .children()?
Целью этого является проверка дочерних элементов родительского элемента.
Я не мог понять, как использовать .children(), поэтому я написал несколько кодов с длинными ключами на 2 поля (идентификатор и класс). Я бы предпочел просто использовать класс, но я не мог понять, как использовать класс «Level» сам по себе.
Но я не хочу зависеть от идентификатора, только класса. (плюс я предпочел бы использовать .children(), если кто-нибудь знает, как)
дополнительные очки для создания JQuery короче, так как я не думаю, что мне нужны инструкции IF.
<div class="jobtypeHeadLghtRed inputFields" id="jobTypeName">
<input type="checkbox" class="checkbox Level1" checked="'checked'" id="IsSelected_J_L1">
<div class="sectionHeaderText" id="JobType">level 1 item</div>
</div>
<div class="facilityHeadLghtBlue inputFields" id="jobTypeName">
<input type="checkbox" class="checkbox Level2" checked="'checked'" id="IsSelected_J_L2">
<div class="sectionHeaderText" id="JobType">level 2 item</div>
</div>
<div class="HeadLghtGreen inputFields" id="jobTypeName">
<input type="checkbox" class="checkbox Level3" checked="'checked'" id="IsSelected_J_L3">
<div class="sectionHeaderText" id="JobType">Level 3 item</div>
</div>
$(function() {
$(":checkbox").change(function() {
var id = this.id;
var level = id.substring(id.length - 1);
if(level == 1){
$('[class*="Level2"], [class*="Level3"]').attr('checked', this.checked);
}
if(level == 2){
$('[class*="Level3"]').attr('checked', this.checked);
}
});
});
Это выглядит хорошо. Я попробую это позже сегодня вечером – KevinDeus
Фактически теперь, когда я смотрю на него, его отсутствует подстрока класса. Индекс не всегда будет индикатором – KevinDeus
Я думал, что порядок флажков - их уровни. Сейчас изменится. – avetarman