我必须根据数据库中的值检查/取消选中页面加载时的复选框。
HTML代码:
<div class="checkbox">
<label>
<input type="checkbox" data-bind = "checked: selectedUser() ? selectedUser().user_management : ''"> User Management
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" data-bind = "checked: selectedUser() ? selectedUser().client_information : ''"> Client Information
</label>
</div>
服务器返回的Json是:
[{"user_name":"test1","user_management":"1", "client_management":"0"}]
响应用于创建以下选项:
<select class="form-control" name="form-edit-user-name" id="form-edit-user-name" data-bind = "options: availableUsers,
optionsText: 'user_name',
value: selectedUser,
optionsCaption: 'Choose...'">
</select>
在理想情况下,应检查用户管理复选框,因为它在Json中的值为1,而不应检查客户端管理,因为它是0.而是检查两个框。
答案 0 :(得分:1)
检查两个复选框的原因是(来自文档)
如果你给的值实际上不是布尔值,那么它就是 松散地解释。这意味着非零数字和非空数字 对象和非空字符串都将被解释为true,而 零,空,未定义和空字符串将被解释为false。
很简单,将var myCallback = function(index, value) {
value.change(function(){
if (jQuery(this).val() == "recurring") {
jQuery('#recurring' + index).show();
} else {
jQuery('#recurring' + index).hide();
}
});
};
var myArray = $('#leveltype');
jQuery.each(myArray, myCallback (index, value) );
设为boolean或int值,而不是来自服务器的字符串。
<强>码强>
1's & 0's
如果你想坚持使用字符串,可以调整代码,例如 sample