Javascript 本地存储未保存复选框未选中阶段

Javascript 本地存储未保存复选框未选中阶段,javascript,jquery,html,checkbox,local-storage,Javascript,Jquery,Html,Checkbox,Local Storage,我使用jquery和本地存储来保存复选框的状态 为了节省时间,我使用: function save_form() { window.localStorage.setItem('fb_show', $('#fb_show').val()); alert('Saved'); } function load_form() { var fb_checkbox_val = window.localStorage.getItem('fb_show'); alert(fb_c

我使用jquery和本地存储来保存复选框的状态

为了节省时间,我使用:

function save_form() {
    window.localStorage.setItem('fb_show', $('#fb_show').val());
    alert('Saved');
}

function load_form() {
    var fb_checkbox_val = window.localStorage.getItem('fb_show');
    alert(fb_checkbox_val);

    if (fb_checkbox_val == 'on') {
        $("#fb_show").prop("checked", true);
    } else {
        $("#fb_show").prop("checked", false);
    }
}
问题是,当它被取消选中时,它会将值保存为“开”,这样零件就可以工作了,但当我取消选中复选框并再次保存时,它仍然保存为“开”。。。因此,之后的代码将再次将其设置为选中状态


如何解决此问题?

您应该在
localStorage
中保存复选框的状态:

function save_form() {
    window.localStorage.setItem('fb_show', $('#fb_show').is(':checked'));
    alert('Saved');
}

function load_form() {
    var fb_checkbox_val = window.localStorage.getItem('fb_show') === 'true' ? true : false;
    alert(fb_checkbox_val);

    $("#fb_show").prop("checked", fb_checkbox_val);
}

您应该将复选框的状态保存在
localStorage
中:

function save_form() {
    window.localStorage.setItem('fb_show', $('#fb_show').is(':checked'));
    alert('Saved');
}

function load_form() {
    var fb_checkbox_val = window.localStorage.getItem('fb_show') === 'true' ? true : false;
    alert(fb_checkbox_val);

    $("#fb_show").prop("checked", fb_checkbox_val);
}

您应该将复选框的状态保存在
localStorage
中:

function save_form() {
    window.localStorage.setItem('fb_show', $('#fb_show').is(':checked'));
    alert('Saved');
}

function load_form() {
    var fb_checkbox_val = window.localStorage.getItem('fb_show') === 'true' ? true : false;
    alert(fb_checkbox_val);

    $("#fb_show").prop("checked", fb_checkbox_val);
}

您应该将复选框的状态保存在
localStorage
中:

function save_form() {
    window.localStorage.setItem('fb_show', $('#fb_show').is(':checked'));
    alert('Saved');
}

function load_form() {
    var fb_checkbox_val = window.localStorage.getItem('fb_show') === 'true' ? true : false;
    alert(fb_checkbox_val);

    $("#fb_show").prop("checked", fb_checkbox_val);
}


未选中的复选框实际上没有值,因此必须检查是否选中并保存该值
$(“#fb_show”)。是否(“:checked”)

未选中的复选框实际上没有值,因此必须检查是否选中并保存该值
$(“#fb_show”)。是否(“:checked”)

未选中的复选框实际上没有值,因此必须检查是否选中并保存该值
$(“#fb_show”)。是否(“:checked”)

未选中的复选框实际上没有值,因此必须检查是否选中并保存该值<代码>$(“#fb_show”)。是(“:checked”)

这是因为您保存的是复选框值,而不是state@atmd我认为这在这里不重要!!OP可能在on
checked
事件中将复选框的值设置为
on
off
,然后比较
字符串
值而不是布尔值!但是如果选中或不选中,值保持不变这是因为您保存的是复选框值,而不是state@atmd我认为这在这里不重要!!OP可能在on
checked
事件中将复选框的值设置为
on
off
,然后比较
字符串
值而不是布尔值!但是如果选中或不选中,值保持不变这是因为您保存的是复选框值,而不是state@atmd我认为这在这里不重要!!OP可能在on
checked
事件中将复选框的值设置为
on
off
,然后比较
字符串
值而不是布尔值!但是如果选中或不选中,值保持不变这是因为您保存的是复选框值,而不是state@atmd我认为这在这里不重要!!OP可能在on
checked
事件中将复选框的值设置为
on
off
,然后比较
字符串
值而不是布尔值!但如果选中或notworth指出在存储器中保存布尔值将转换为字符串,则该值将保持不变。(
“true”
不是
true
)@atmd谢谢!Updatedworth指出,在存储器中保存布尔值将转换为字符串。(
“true”
不是
true
)@atmd谢谢!Updatedworth指出,在存储器中保存布尔值将转换为字符串。(
“true”
不是
true
)@atmd谢谢!Updatedworth指出,在存储器中保存布尔值将转换为字符串。(
“true”
不是
true
)@atmd谢谢!更新