改變觀察的價值,我認爲這是一個容易的事情...... 我有一個knockoutjs視圖模型是這樣的:從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);