Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在单击event/jQuery/ajax调用后保持复选框状态_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 如何在单击event/jQuery/ajax调用后保持复选框状态

Javascript 如何在单击event/jQuery/ajax调用后保持复选框状态,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有以下事件代码,可以在我的页面上重新加载代码部分。问题是,如果选中该复选框,我就找不到在重新加载后重新检查它的方法 jQuery(this.el).find('.view_all_future_filter').click(function () { TodoNote.view_all_future_filter = jQuery(this).prop('value'); _this.parent.reload(); }) 我尝试了以下操作,但复选框一直被重置为未选中: if

我有以下事件代码,可以在我的页面上重新加载代码部分。问题是,如果选中该复选框,我就找不到在重新加载后重新检查它的方法

jQuery(this.el).find('.view_all_future_filter').click(function () {
    TodoNote.view_all_future_filter = jQuery(this).prop('value');
    _this.parent.reload();
})
我尝试了以下操作,但复选框一直被重置为未选中:

if(this.view_all_future_filter == "on") {
    this.query_string += '&view_all_future_filter=' + this.view_all_future_filter;
    var show_state = "checked";
} else {
    var show_state = "";
}
this.load();
jQuery('#view_all_future_filter').prop('checked', show_state);

任何帮助都将不胜感激

您可以将复选框状态存储在cookie中。然后,在onload回调中,从cookie初始化复选框状态。

您可以使用保存数据并在重新加载内容后获取数据:

if (window.sessionStorage) {

    var checkedState = jQuery('#view_all_future_filter').attr('checked');

    sessionStorage.setItem("someCheckboxState", checkedState);
}
当内容加载到页面时:

if (window.sessionStorage) {

    var checkedState = sessionStorage.setItem("someCheckboxState");

    jQuery('#view_all_future_filter').attr('checked', checkedState);
}
注意:如果您使用的是
jQuery 1.6+
,则必须将
attr
更改为,以便将布尔属性设置为选中的
禁用的