当在IE8中使用带有下拉框的knockout 2.2.0时,我们收到错误。在IE 8中,数组的长度显示为2而不是1.它在IE9及以上版本和其他浏览器中工作正常。
我已将代码放入此fiddle。
UI代码如下所示:
<script>
function EmailDomain(text, value) {
this.DisplayText = text;
this.Value = value;
}
function VM(){
self.EmailDomains = ko.observableArray([
new EmailDomain("aaa.com", "aaa.com"),
]);
self.SelectedEmailDomain = ko.observable(self.EmailDomains()[0]);
}
</script>
<select data-bind="options: EmailDomains, optionsText: 'DisplayText', value: SelectedEmailDomain"></select>
答案 0 :(得分:3)
还没有机会测试这个,因为我在这台机器上没有IE8,但可能是因为你的数组末尾有一个意外的逗号是不必要的?
self.EmailDomains = ko.observableArray([
new EmailDomain("aaa.com", "aaa.com") // Removed: ,
]);
当有逗号不合适时,IE会做一些疯狂的事情,所以值得一试!