データをドロップダウン リストにバインドしようとしています。
function EmailTemplate(data) {
var self = this;
self.etId = ko.observable(data.email_template_id);
self.etTypeId = ko.observable(data.email_template_type_id);
self.etTitle = ko.observable(data.email_template_title);
self.etContent = ko.observable(data.email_template_content);
self.etAppYear = ko.observable(data.app_year);
self.etSubject = ko.observable(data.subject);
self.etActive = ko.observable(data.active);
}
function EmailTemplateViewModel() {
var self = this;
self.ETList = ko.observableArray();
var uri = '/admin/services/EmailTemplateService.svc/EmailTemplates';
OData.read(uri, function (data, response) {
$.each(data.results, function (index, item) {
self.ETList.push(new EmailTemplate(item));
});
});
}
$(document).ready(function () {
ko.applyBindings(new EmailTemplateViewModel());
});
HTML マークアップ:
<select data-bind="options: ETList, value:etId, optionsText: 'etTitle' "class="dropdown"></select>
これを実行すると、次のようになりました: Uncaught Error: Unable to parse bindings. メッセージ: ReferenceError: etIdis が定義されていません。バインディング値: オプション: ETList、値:etId、optionsText: 'etTitle'
ドロップダウン リストにバインドする場合、値をどのようにバインドすればよいでしょうか。バインド後、ノックアウトでドロップダウン変更イベントをどのようにキャプチャまたは作成する必要がありますか?