Javascript 使用jQuery复选框
JSON数据如下所示:Javascript 使用jQuery复选框,javascript,jquery,Javascript,Jquery,JSON数据如下所示: {"id":8,"userName":"gentelman","fullname":"Alexen","email":"alex@yahoo.com", "mobile":"0060111434325","designation":null,"add_content":1,"edit_content":1, "delete_content":1,"manage_user":1,"view_log":1} 当add_content=1时,我试图将复选框设为选中状态,否则将
{"id":8,"userName":"gentelman","fullname":"Alexen","email":"alex@yahoo.com",
"mobile":"0060111434325","designation":null,"add_content":1,"edit_content":1,
"delete_content":1,"manage_user":1,"view_log":1}
当add_content=1
时,我试图将复选框设为选中状态,否则将其设为未选中状态
。现在它只在我刷新页面时工作。我想让它在不刷新页面的情况下工作。怎么做
load: function (id) {
var self = this;
KeyWord.byId(
id,
function (data) {
if (data.add_content == 1) {
$("#add_content").attr('checked', true);
} else {
$("#add_content").attr('checked', false);
}
self.formHandler.load(data);
},
function (error) { },
function () { }
);
}
只需确保使用.prop()
是的,您需要使用prop()
更改此代码:
if (data.add_content == 1) {
$("#add_content").prop('checked', true);
} else {
$("#add_content").prop('checked', false);
}
self.formHandler.load(data);
为此:
if (data.add_content == 1) {
$("#add_content").attr("checked", "checked").closet(span).addClass("checked");
}
self.formHandler.load(data);
那么您希望检查函数绑定到某个事件?除了页面刷新之外,添加内容的值在什么时候会发生变化?此加载函数首先读取数据,当add\u content=1
选中复选框而不刷新页面时。现在复选框起作用,但在我刷新页面后,您是否尝试使用prop
代替attr
此处?是的……它不起作用,您有吗试过具体的比较吗?json返回1,但在Jquery中不一定是bool有效的比较。如果将条件放置为if(data.add_content==1)会怎么样。。。因为它可能被认为是int而不是bool
if (data.add_content == 1) {
$("#add_content").prop('checked', true);
} else {
$("#add_content").prop('checked', false);
}
self.formHandler.load(data);
if (data.add_content == 1) {
$("#add_content").attr("checked", "checked").closet(span).addClass("checked");
}
self.formHandler.load(data);