2010-11-23 55 views
1

我在頁面上的多個組合框上使用jquery.ui.autocomplete。僅在IE中,組合框會因失去焦點而重置(onBlur)。沒有多少JS調試可以揭示原因。有什麼建議麼?自動完成組合框重置失去焦點 - 僅IE瀏覽器

+0

有些代碼會有所幫助。 – superfro 2010-11-23 04:26:06

+0

@superfro - 現在不在辦公室 - 遵循的代碼 – Klaptrap 2010-11-23 04:30:26

回答

2

好的,這是我想出的。我用你的代碼並複製你的bug。

原因,IE瀏覽器是不同的,那麼說...火狐,這是常規的:

​​

在Firefox中,ui.item不爲空,在IE瀏覽器是。因此,在IE中它必須得到'<選項值=「foo」> foo < /選項>'的值屬性的實際值,並與文本框中的內容進行比較。

這裏的問題:

值= 「富」 必須完全匹配是什麼> FOO <

<option value="5">Five</option> 

將導致它來清除該字段如果模糊

<option value="Five">Five</option> 

不會

在Firefox和鉻,他們通過用戶界面,所以他們沒有得到這個檢查,它只是繼續,一切都很酷。檢查以確保您的值完全匹配選項文本。

0

superfro的分析是正確的,但你可以使用option元素,其中的價值從文本的不同,如果你修改這一行代碼:

if (this.value.match(matcher)) { 

到:

if ($(this).text().match(matcher)) { 

這樣,您在<option value="VALUE">TEXT</option>而不是VALUE內與TEXT匹配。