【发布时间】:2014-12-24 23:20:45
【问题描述】:
我认为这是一件容易的事... 我有一个像这样的 knockoutjs 视图模型:
UserModel = function(user) {
// ...
this.Permissions = new PermissionsModel(user.Permissions);
this.fullAccessValue = ko.observable(false);
// if the permissions change
$.each(self.Permissions, function(i, item) {
item.subscribe(function() {
if (self.allStoresSelected() && self.allPermissionsSelected()) {
userModel.fullAccessValue = ko.observable(true);
$('#savFullAccessCheck').prop('checked', true);
} else {
userModel.fullAccessValue = ko.observable(false);
$('#savFullAccessCheck').prop('checked', false);
}
});
});
};
我必须做的:
我有一个带有复选框(权限)和另一个复选框(完全访问)的列表。
现在,当检查所有权限 - 复选框时,必须检查FullAccess。
如果未全部选中,则必须取消选中 fullAccess。
否则,当我选中 fullAccess 复选框时,必须选中所有其他复选框。
复选框的权限如下所示:
var PermissionsModel = function(permissions) {
var self = this;
self.Access1 = ko.observable(permissions.Access1);
self.Access2 = ko.observable(permissions.Access1);
// ...
};
userModel = new UserModel();
ko.applyBindings(userModel, $('#savBottomWrap')[0]);
简而言之:我的问题是如何使用 javascript 更新可观察值!?
这不是真的有效:
userModel.fullAccessValue = ko.observable(false);
$('#savFullAccessCheck').prop('checked', false);
【问题讨论】:
标签: javascript jquery knockout.js