淘汰IE 8选项长度错误

时间:2013-01-04 07:09:34

标签: knockout.js

当在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>

the screen where i an getting the error

1 个答案:

答案 0 :(得分:3)

还没有机会测试这个,因为我在这台机器上没有IE8,但可能是因为你的数组末尾有一个意外的逗号是不必要的?

self.EmailDomains = ko.observableArray([
    new EmailDomain("aaa.com", "aaa.com") // Removed: ,
]);
当有逗号不合适时,IE会做一些疯狂的事情,所以值得一试!