【问题标题】:How to save checkbox value in localStorage?如何在localStorage中保存复选框值?
【发布时间】:2014-07-31 21:57:51
【问题描述】:

我一直无法在 localStorage 中保存复选框值,我发现了一些关于这里的主题,但我仍然遇到问题。

这是我创建复选框的 HTML 的一部分:

<div id="displayer_show">
    <div class="demo" id="labels2-3">
        <input name="switch_show" type="checkbox" value="1" checked/>
     </div>
</div>

以及我的 ma​​in 脚本的一部分:

$(function () {
    var data = localStorage.getItem("showning");
    if (data !== null) {
        $("input[name='switch_show']").attr("checked", "checked");
    }
});

$("input[name='switch_show']").click(function () {

    if ($(this).is(":checked")) {
        localStorage.setItem("showning", $(this).val());
    } else {
        localStorage.removeItem("showning");
    }
});

有它的jsfiddle链接:http://jsfiddle.net/remibenault/Dp4Tj/8/

任何帮助将不胜感激。

【问题讨论】:

    标签: jquery checkbox local-storage


    【解决方案1】:

    编辑你的脚本如下:

    $(function () {
      var data = localStorage.showning;
      $("input[name='switch_show']")
        .prop('checked',data=='true')
        .change(function () {
           localStorage.showning = $(this).prop("checked");
        });
    });
    

    问题是复选框是默认选中的,而你

    【讨论】:

    • 我在 jsfiddle 中尝试了您的脚本并且工作正常,但作为 @soktinpk 的回答,不适用于我的脚本。
    【解决方案2】:

    只需删除 value="1" checked 部分就可以了。 $(this).val() 也应该是 1。我不太清楚你为什么打电话给$(this).val()

    http://jsfiddle.net/prankol57/Dp4Tj/9/

    【讨论】:

    • 哦,非常感谢,我是 Jquery 和 Javascript 的新手,但仍然遇到困难。混合多个脚本并不总是有效 =)
    猜你喜欢
    • 1970-01-01
    • 2017-04-17
    • 2012-10-01
    • 1970-01-01
    • 2017-05-05
    • 1970-01-01
    • 1970-01-01
    • 2018-08-30
    • 2021-01-10
    相关资源
    最近更新 更多