我有一个js脚本可以帮助我创建一个cookie。它会保存选中的复选框,以便记住此值(在cookie中设置)。现在问题是它似乎不适用于单选按钮。当读取js文件时,我看到输入类型=复选框。因此忽略单选按钮是合乎逻辑的。
如何更改此脚本,以便它不仅会检查选中的复选框,还会检查选中的单选按钮?
非常感谢
我的js文件脚本:
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));
}
}
答案 0 :(得分:0)
看起来您应该只需添加单选按钮就可以了。
改变这个:
$("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(){...});