gpt4 book ai didi

knockout.js - Knockout multiple select selectedOptions 在加载时未选择

转载 作者:行者123 更新时间:2023-12-04 14:15:25 25 4
gpt4 key购买 nike

我正在为用户创建一个编辑表单,默认情况下不会在多选中选择用户的角色。

有 2 个应用程序角色:“管理员”和“版主”。示例用户具有 1 个角色“管理员”。默认情况下不选择此项。

http://jsfiddle.net/jgT8s/4/

html:

<form data-bind="with: user">
<select id="selectRoles"
data-bind="options: $root.allRoles, selectedOptions: Roles, optionsText: 'Name', optionsValue: 'Id'"
multiple="true"
size="5">
</select>
</form>

js:
var User = function () {
var self = this;

self.Id = ko.observable(1337);
self.Username = ko.observable('pietpaulusma');
self.Roles = ko.observableArray([{ Id: 1, Name: 'Administrator' }]);
};

function UserViewModel() {
var self = this;

self.user = ko.observable(new User());
self.allRoles = ko.observableArray([{ Id: 1, Name: 'Administrator' }, { Id: 2, Name: 'Moderator' }]);
}

ko.applyBindings(new UserViewModel());

更新
创建了一个dependentObservable 并将其映射到 selectedOptions
self.RoleIds = ko.dependentObservable(function () {
return ko.utils.arrayMap(self.Roles(), function (role) {
return role.Id;
});
});

工作版本: http://jsfiddle.net/jgT8s/5/

最佳答案

问题是Roles包含“完整”对象,而它应该只包含值部分:

self.Roles = ko.observableArray([1]);

看看这里: http://jsfiddle.net/Vkda5/

关于knockout.js - Knockout multiple select selectedOptions 在加载时未选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13517296/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com