我有一個國家名單。它分裂了3次。jquery分組複選框
[ ] World
[ ] Africa
[ ] Congo
[ ] Europe
[ ] Netherlands, the
[ ] Italy
現在,如果我點擊世界,我希望所有的人都被檢查。 如果我點擊非洲,我只想要檢查剛果。 如果我點擊歐洲,意大利和荷蘭都應該檢查。 如果我點擊荷蘭,意大利和歐洲,應該檢查歐洲,點擊歐洲和非洲時也應該與世界一樣。 我想出了它下面的jQuery腳本:
$(function() {
$(":checkbox").click(function() {
var maxlevel = 3;
var level = $(this).attr("class").substring(5, 6);
var level_checked = $(this).attr("checked");
//update children
$('input', $(this).parent('div')).each(function() {
var curlevel = $(this).attr("class").substring(5, 6);
if (curlevel > level) {
$(this).attr("checked", level_checked);
}
});
//update parents?
});
});
我用下面的HTML代碼:
<div>
<input class="layer1" type="checkbox" />Layer1 <br />
<div>
<input class="layer2" type="checkbox" />Layer2 <br />
<div>
<input class="layer3" type="checkbox" />Layer3 <br />
<input class="layer3" type="checkbox" />Layer3 <br />
</div>
</div>
<div>
<input class="layer2" type="checkbox" />Layer2 <br />
<div>
<input class="layer3" type="checkbox" />Layer3 <br />
<input class="layer3" type="checkbox" />Layer3 <br />
</div>
</div>
</div>
更新的兒童在點擊一些工作,但更新的父母單擊框時..我不知道如何做到這一點。我發現了兩塊代碼,但是它們只適用於複選框的「子組」,而不是像我的情況那樣。
任何人都可以幫助我嗎?
啊我忘了檢查一件事!謝謝= D – lordstyx 2011-02-06 21:52:12