在jquery中保存按钮状态

时间:2012-01-07 00:18:51

标签: jquery

我正在使用一些带有datatables的自定义jquery按钮来进行一些排序。不幸的是,当我离开页面并返回时,datatables会记住它的状态,但切换按钮不会。所以我试图在按钮切换时设置一个cookie,以便稍后阅读,但我似乎无法让它工作。

这是我创建cookie的按钮代码:

$('#completed_button').bind('change', function(){
  if($(this).is(':checked')){
    $(this).button('option', 'label', 'Hide Completed');
    oTable.fnFilter('Completed',6,false);
    $.cookie('showCompletedState', 'checked');
  } else {
    $(this).button('option', 'label', 'Show Completed');
    oTable.fnFilter('',6,false);
    $.cookie('showCompletedState', 'unchecked');
  }
});

现在我尝试阅读cookie并设置按钮状态:

var showCompletedState = $.cookie('showCompletedState');
if (showCompletedState == 'checked') {
    <-- need something here to actually change button state -->
    $('#completed_button').button('option', 'label', 'Hide Completed');
    oTable.fnFilter('Completed',6,false);
} else if (showCompletedState == 'unchecked') {
    <-- need something here to actually change button state -->
    $('#completed_button').button('option', 'label', 'Show Completed');
    oTable.fnFilter('',6,false);        
}

2 个答案:

答案 0 :(得分:1)

根据Dave的建议,答案结果是$("#completed_button").prop("checked", true);

答案 1 :(得分:0)

不确定我是否完全理解,但如果您只是希望按钮看起来好像有不同的状态。为什么不为不同的状态分配CSS样式?