2

IE8 のドロップダウン ボックスでノックアウト 2.2.0 を使用すると、エラーが発生します。IE 8 では、配列の長さは 1 ではなく 2 として表示されます。IE9 以降およびその他のブラウザでは問題なく動作します。

このフィドルにコードを入れました。

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>

エラーが発生している画面

4

1 に答える 1

3

このマシンには IE8 がないため、まだテストする機会がありませんでしたが、配列の最後に不必要なコンマがある可能性があります。

self.EmailDomains = ko.observableArray([
    new EmailDomain("aaa.com", "aaa.com") // Removed: ,
]);

IE はコンマがずれているとクレイジーなことをするので、試してみる価値があります!

于 2013-01-04T10:27:27.687 に答える