我有一个问题,当点击菜单栏时,选中的复选框丢失了。如果选择小吃
Snacks ----> Puffs ---> Veg --->并选中任何复选框
最后,如果我们点击Beverages。
问题是在Snacks下选中的复选框没有被记录下来。
请参阅此处的jsfiddle
http://fiddle.jshell.net/K646y/4/
请告诉我如何记住在这种情况下选中的复选框?
答案 0 :(得分:0)
我想你想做的是这样的:
演示:http://fiddle.jshell.net/9rJpJ/7/
在您的代码中:
random_number += 1;
....
"<input type='chackbox' id='"+random_number+"' ..>"
这意味着id
不是静态的,不便于存储chackbox状态。
所以我使用循环计数器i
和k
更改为静态:
var cb_id = 100*(i+1) + k;
....
"<input type='chackbox' id='"+cb_id +"' ..>"
单击ckeckbox时保存状态:
// declare variable in the global scope.
var cbstatus = {};
// set event handlers
$('.checkboxclas').click(function(){
var cbid=$(this).attr('id');
var status = $(this).prop('checked');
cbstatus[cbid] = status;
console.log(cbstatus);
});
当你创建复选框时,你可以这样:
var str_checked = "";
if(cbstatus[cb_id]){
str_checked = "checked";
}
....
"<input type='chackbox' id='"+cb_id +"' "+str_checked+">"
希望这有帮助。