पर नहीं चुना गया है, मैं उपयोगकर्ता के लिए एक संपादन फ़ॉर्म बना रहा हूं, उपयोगकर्ता की भूमिकाएं एकाधिक चयन में डिफ़ॉल्ट रूप से नहीं चुनी जाती हैं।नॉकआउट एकाधिक चयन चयनित विकल्प लोड
2 आवेदन भूमिकाएं हैं: "व्यवस्थापक" और "मॉडरेटर"। नमूना उपयोगकर्ता के पास 1 भूमिका "प्रशासक" है। यह डिफ़ॉल्ट रूप से नहीं चुना जाता है।
एचटीएमएल:
<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;
});
});
काम कर संस्करण: optionsValue: 'Id'
: http://jsfiddle.net/jgT8s/5/
यह निर्भर ओब्सर्वेबल के बारे में एक महान युक्ति है .. शर्म की हमें ऐसी लंबाई में जाना है .. –