ok。ご覧のように。私は非効率なコードをいくつか持っています。JQueryこのコードで.children()を使用するにはどうすればよいですか?
親要素の子をチェックするのがポイントです。
.children()を使用する方法を理解できなかったので、2つのフィールド(IDとクラス)に長さのあるコードキーイングを書きました。私はむしろクラスを使用したいと思いますが、 "Level"クラスを単独で使用する方法を理解できませんでした。
しかし、私はIDだけではなく、クラスに依存したくありません。 (プラス私はむしろ誰かが知っているならば.children()を使用したい)
私はIFステートメントが必要ないと思うので、JQueryを短くするための余分なポイント。
<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