0
輸入電子郵件地址時,用戶必須從預定義列表(例如gmail)中選擇電子郵件地址 域。 com; outlook.com; hotmail.com)。下拉列表將接受不屬於列表中的值的列表
域下拉列表將接受不屬於列表的一部分的值。
我應該有選擇和輸入功能。
HTML:
<!-- Mulitple array of emails -->
<div>
<table class="table table-bordered">
<tbody data-bind='foreach: billDeliveryEmails'>
<tr>
<td><input class='required' data-bind='value: userName' /></td>
<td><select data-bind="options: $root.availableEmailDomains(), value: domainName, optionsText: 'domainName', optionsValue: 'domainName'"></select></td>
<td><a data-bind="click:'removeDeliveryEmailAddress'">Delete</a></td>
</tr>
</tbody>
</table>
<a class="atm-bloque-link" data-bind="click:'addDeliveryEmailAddress'">Agregue otra direccion de email</a>
</div>
VM:
//域類
function Domain(domainName) {
var self = this;
self.domainName = domainName;
}
billDeliveryEmails : [],
availableEmailDomains : ko.observableArray([
new Domain("hotmail.com"),
new Domain("yahoo.com")
])
addDeliveryEmailAddress: function ($element, data, context, bindingContext, event) {
bindingContext.$root.billDeliveryEmails.push({
userName: "",
domainName: this.viewModel.get('availableEmailDomains')[0]
});
event.preventDefault();
},
removeDeliveryEmailAddress: function ($element, data, context, bindingContext, event) {
bindingContext.$root.billDeliveryEmails.splice(0, 1)
event.preventDefault();
}
如果有人下降了,他能否說出原因。因爲這是我遇到的要求,無法找到谷歌解決方案。 –
你到目前爲止有什麼?您是否熟悉[observableArrays](http://knockoutjs.com/documentation/observableArrays.html)的工作方式? –
哪個輸入是應添加到可用電子郵件列表中的輸入?看起來你有一個添加到'billDeliveryEmails'的輸入,但沒有添加到'availableEmailDomains'的輸入。將項目推入'availableEmailDomains'observableArray應自動更新選擇列表UI。 –