self.selectedAddressBook = ko.validatedObservable();
var emptyEntry = ko.validatedObservable(new AddressBookEntryViewModel());
self.currentEntry = ko.computed(function () {
if (!self.selectedAddressBook())
return emptyEntry();
return self.selectedAddressBook();
});
self.addressBookEntries = ko.observableArray(null);
我在ajax调用中填充条目:
var entries = ko.utils.arrayMap(data, function (e) {
return new AddressBookEntryViewModel(e);
})
self.addressBookEntries(entries);
在currentEntry
的编辑表单上,保存按钮与isValid()绑定:
<button data-bind="enable: isValid()" type="submit">Save</button>
我有一个表单选择,用户选择这样的选项:
<select class="form-control" data-bind="enable: addressBookEntries(), options : addressBookEntries,
optionsText: 'address',
value: selectedAddressBook,
optionsCaption: 'Select address'"></select>
当我没有selectedAddressBook
时,emptyEntry可以正常运行,但只要用户从选择中选择一个选项,它就会引发错误isValid is not defined
我不知道为什么会发生这种情况或如何修复它所以从select元素中选择的选项可以是validatedObservable。