保留复选框状态

时间:2014-06-04 09:44:47

标签: jquery

我有一个问题,当点击菜单栏时,选中的复选框丢失了。如果选择小吃

Snacks ----> Puffs ---> Veg --->并选中任何复选框

最后,如果我们点击Beverages。

问题是在Snacks下选中的复选框没有被记录下来。

请参阅此处的jsfiddle

http://fiddle.jshell.net/K646y/4/

请告诉我如何记住在这种情况下选中的复选框?

1 个答案:

答案 0 :(得分:0)

我想你想做的是这样的:
演示:http://fiddle.jshell.net/9rJpJ/7/

在您的代码中:

random_number += 1;
....
"<input type='chackbox' id='"+random_number+"'  ..>"

这意味着id不是静态的,不便于存储chackbox状态。 所以我使用循环计数器ik更改为静态:

 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+">"

希望这有帮助。