我有一个关于KnockoutJS和群组多选的问题。 我有这个结构:
var Contact = function (contact) {
var self = this;
self.idContact = contact.IdContact;
self.displayName = contact.DisplayName;
self.mails = ko.observableArray(ko.utils.arrayMap(contact.Emails, function (mail) {
return { mail: mail };
}));
};
var Quote = function (quote) {
var self = this;
self.contacts = ko.observableArray(ko.utils.arrayMap(quote.ProviderContacts, function (contact) {
return new Contact(contact);
}));
};
并且主ModelView有一个Quote和mainContactsList。 然后我有选择:
<select data-bind="foreach: contacts, value: $root.quote.contacts" multiple="multiple">
<optgroup data-bind="attr: {label: displayName, value: idContact}, foreach: mails">
<option data-bind="text: mail, value: mail"></option>
</optgroup>
</select>
所以..事情是,我不知道如何保存报价只有我选择的联系人和选择的电子邮件。 我的意思是,选择看起来像这样:
[John Doe]
---- john@doe.com
---- john2@doe.com--->selected by client
[Jane Doe]
---- jane@doe.com--->selected by client
所以,在我需要的报价中,与John Doe的联系人列表和邮件john2@doe.com以及联系人Jane Doe和邮件jane@doe.com。
我希望你理解我的问题并找到解决办法:)
谢谢!