1
按要求我有下面取複選框多維數組以JavaScript
<ul class="checklist">
<li>
<input type="checkbox" name="level[1]" value="1" onclick="checkAll(this)" id="level[1]">
<label for="level[1]">Unit 1</label>
<ul class="subchecklist">
<li>
<input type="checkbox" checked="checked" name="courses[1][1]" value="1" onclick="checkTop()" id="courses[1][1]">
<label for="courses[1][1]">Module 1</label>
</li>
<li>
<input type="checkbox" checked="checked" name="courses[1][2]" value="2" onclick="checkTop()" id="courses[1][2]">
<label for="courses[1][2]">Module 2</label>
</li>
</ul>
</li>
<li>
<input type="checkbox" name="level[2]" value="2" onclick="checkAll(this)" id="level[2]">
<label for="level[2]">Unit 2</label>
<ul class="subchecklist">
<li>
<input type="checkbox" checked="checked" name="courses[2][1]" value="1" onclick="checkTop()" id="courses[2][1]">
<label for="courses[2][1]">Module 1</label>
</li>
<li>
<input type="checkbox" checked="checked" name="courses[2][2]" value="2" onclick="checkTop()" id="courses[2][2]">
<label for="courses[2][2]">Module 2</label>
</li>
</ul>
</li>
</ul>
我想檢查/取消選擇其相關聯的父級別的選擇所有模塊複選框如所描述的動態創建的XHTML。這是我的javascript功能。
function checkAll(obj){
var element = document.accessForm.elements["courses["+obj.value+"]"];
alert(element);
if(obj.checked){
for(i=0;i<element.length;i++){
element[i].checked = true;
}
}else{
for(i=0;i<element.length;i++){
element[i].checked = false;
}
}
}
但是,當我顯示元素變量,然後得到響應「未定義」。
任何人可以請幫助
工作:)感謝您的回覆。 – neeraj 2012-02-29 11:42:25
您是否還可以讓我知道在單獨的函數中需要做出哪些更改才能檢查頂層複選框(如果選中了所有嵌套複選框)。在我的情況下,頂級複選框級別[1]和嵌套複選框就像課程[1] [1],課程[1] [2]。所以我想要的是,如果我選擇課程[1] [1]和課程[1] [2],那麼我的JavaScript功能應該檢查水平[1]。 – neeraj 2012-02-29 12:03:10