Jquery cookie脚本只记得复选框而不记得单选按钮



我有一个js脚本,帮助我创建一个cookie。它保存选中的复选框,以便记住这个值(在cookie中设置)。现在的问题是,它似乎不适用于单选按钮。在读取js文件时,我看到input type=复选框。所以忽略单选按钮是合乎逻辑的。

我如何修改这个脚本,使它不仅检查选中的复选框,还检查选中的单选按钮?

多谢

My js file script:

    jQuery(document).ready(function(){
    new chkRemembrance();
});
function chkRemembrance(){
    this.__construct();
}
chkRemembrance.prototype = {
    __construct : function(){
        this.chk = this.fetchData(); // initialise array to store the checkboxes
        this.init();
    },
    init : function(){
        // first initialise all checkboxes that are checked
            for(c in this.chk){
                $("input[type=checkbox]#" + c).attr('checked', this.chk[c]);
            }
        // now make sure we fetch the checkbox events
        var o = this;
        $("input[type=checkbox]").change(function(){
            o.saveData(this.id, this.checked);
        })
    },
    fetchData : function(){
        var r = {};
        if ($.cookie('chk')){
            r = JSON.parse($.cookie('chk'));
        }
        return r;
    },
    saveData : function(id,status){
        this.chk[id] = status;
        $.cookie('chk', JSON.stringify(this.chk));
    }
}

看起来你只需要添加单选按钮就可以了

改变:

$("input[type=checkbox]#" + c).attr('checked', this.chk[c]);

:

$("input[type=checkbox]#" + c + ", input[type=radio]#" + c).attr('checked', this.chk[c]);

然后改成

    $("input[type=checkbox]").change(function(){...});

:

    $("input[type=checkbox], input[type=radio]").change(function(){...});

相关内容

  • 没有找到相关文章

最新更新