Knockout validatedObservable给我isValid没有定义

时间:2014-07-29 11:10:53

标签: knockout.js

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。

0 个答案:

没有答案
相关问题