我有一個嵌套的手風琴,帶有一個複選框,如果選中該複選框就會發出ajax調用,問題在於複選框在手風琴展開後不會保持檢查狀態。在jQuery手風琴中維護複選框狀態
if (childList.length > 0) {
list += '<ul class = ui-accordion>';
for (var j = 0; j < childList.length; j++) {
list += '<li><div><a href="#"><input type = "checkbox" class = "reqCheckBox" value="' + childList[i].ComponentID + '"/> ' + childList[j].ComponentDesc +'</a></div>';
var grandChildList = $.grep(data, function (n, k) {
return n.ParentID == childList[j].ComponentID;
}, false);
if (grandChildList.length > 0) {
list += '<ul class = ui-accordion>';
for (var k = 0; k < grandChildList.length; k++) {
list += '<li><div><a href="#"><input type = "checkbox" onclick="getReq(' + grandChildList[i].ComponentID + ')"/>' + grandChildList[k].ComponentDesc + '</a></div>';
var greatGrandChildList = $.grep(data, function (n, l) {
return n.ParentID == grandChildList[k].ComponentID;
}, false);
if (greatGrandChildList.length > 0) {
list += '<ul class = ui-accordion>';
for (var l = 0; l < greatGrandChildList.length; l++) {
list += '<li><div><a href="#"><input type = "checkbox" onclick="getReq(' + greatGrandChildList[i].ComponentID + ')"/>' + greatGrandChildList[l].ComponentDesc + '</a></div>';
}
list += '</li></ul>';
}
}
list += '</li></ul>';**
我知道,我需要這個不顯眼的,但我的JavaScript代碼的任何批評,以及將作爲我是一個小白可以理解的。謝謝!
我認爲這是失去了狀態,因爲點擊事件也是在發射手風琴的方法來擴展。 – marknery
crocaduck81 - 它正在觸發相應的方法來擴展因爲而不是嘗試這個 – Gjohn
返回false沒有工作,當你說堅持複選框的狀態時,你的意思是把它存儲在cookie中? – marknery