사용자에 대한 편집 양식을 만들고 있는데, 다중 선택에서 기본적으로 사용자의 역할이 선택되지 않습니다.넉 아웃 복수 선택 selectedOptions이로드시 선택되지 않았습니다.
"관리자"및 "중재자"의 두 가지 응용 프로그램 역할이 있습니다. 샘플 사용자는 "관리자"역할을가집니다. 이것은 기본적으로 선택되지 않습니다.
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
작업 버전 : optionsValue: 'Id'
: http://jsfiddle.net/jgT8s/5/
그것은 종속적 인 Observable에 관한 좋은 팁입니다. 우리가 그런 길이로 가야한다는 수치 스럽습니다. –