2013-01-04 55 views
2

當在IE8中使用knockout 2.2.0與下拉框時,出現錯誤。在IE 8中,數組的長度顯示爲2而不是1.它在IE9及更高版本和其他瀏覽器中工作正常。敲除IE 8選項長度錯誤

我已經把代碼在這個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

+0

我下載了knockout2.2.0版本,我遇到了同樣的問題。我創建了jsFiddle url http://jsfiddle.net/dWsnE/1/。在IE 8或IE 8模式下運行這個 – user1124707

回答

3

還沒有機會測試尚未將此作爲我沒有IE8這臺機器上,但也可能是因爲你有數組末尾的偶然逗號是沒有必要的?

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

IE做一些瘋狂的事情,當有逗號不合適的地方,所以它值得一試!

+1

我測試過了,可以確認尾隨逗號是罪魁禍首! – badsyntax

+1

Thankyou傢伙..第二隻眼睛幫助...它工作... – user1124707