2012-01-15 33 views
1

以下信息我發現在另一個SO問題上,我改進了自動完成功能,以在字段獲得焦點時顯示可用值的列表。這在Firefox和Chrome中運行得非常好,但不在IE9上。JQuery自動完成下拉的有效值在IE9上不起作用

我已經創建了一個代碼示例here。它適用於使用Firefox或Chrome打開它,但如果您使用IE9打開它,則不起作用。爲什麼?

任何人都有解決這個問題?

UPDATE

Description of the issue

上述圖像是用於Firefox。當光標在字段中設置時,將顯示可用值的列表。使用IE9時不顯示此列表。

+3

它工作正常,我...(在IE9)......你沒有提供很多細節究竟*如何*它不起作用。 – Pointy 2012-01-15 23:58:42

+0

@Pointy我已經用屏幕快照更新了我的問題 – JVerstry 2012-01-16 00:06:20

+0

只要文本輸入獲得焦點,該列表就會顯示給我。在IE9中。 – Pointy 2012-01-16 00:08:56

回答

1

if條件應該像現在這樣,用==而是採用===

if (this.value == "") { 
    $(this).autocomplete("search", ""); 
} 

==等於(僅值)

===正好等於(值和類型)


編輯

只是評論console.log(this.value);然後它會工作。

http://jsfiddle.net/PEhdP/4/

+0

我剛試過這個解決方案,但問題依然存在。 – JVerstry 2012-01-18 17:06:57

+0

@JVerstry:查看更新後的答案。這是工作。 – 2012-01-19 05:22:43

+1

謝謝,console.log()是問題! – JVerstry 2012-01-19 16:30:45

-2

$(function() { var cache = {}, lastXhr; $("#birds").autocomplete({ minLength: 2, source: function(request, response) { var term = request.term; if (term in cache) { response(cache[ term ]); return; } lastXhr = $.getJSON("search.php", request, function(data, status, xhr) { cache[ term ] = data; if (xhr === lastXhr) { response(data); } }); } }); });

//請試試這個