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
したがって、私の見積もりには、JohnDoe との連絡先リストと john2@doe.com というメール、および Jane Doe との連絡先と jane@doe.com というメールが必要です。
私の問題を理解し、解決策があることを願っています:)
ありがとう!