1
第一我的代碼jQuery用戶界面自動完成IE問題
$(function() {
var suggest;
$("#guestname").keyup(function() {
$.ajax({
async: true,
url: '../include/searchGuest.php',
dataType: 'json',
data: 'searchTxt=' + $(this).val() + '&festival_id=<?php echo $festival_id;?>',
success: function(data) {
suggest = data;
get_autocomplete(suggest);
}
});
});
});
function get_autocomplete(suggest) {
$("#guestname").autocomplete({
minLength: 3,
source: suggest
});
}
我使用這個jQuery的函數來獲取的賓客名單。用戶填寫一個名爲'John'的輸入字段。 Ajax正在爲包含'John'的名字或姓氏的客人搜索數據庫。在同一個腳本(PHP)中,我創建了一個JSON對象,它看起來像[「1234:John Doe」,「...」,「...」](數字是這個客人的ID,猜測那不重要,只是想提一下)。 然後我將JSON傳遞給jQuery UI的自動完成功能。
在FF和Chrome中一切正常,獲得JSON形式的結果後,在輸入字段下方打開一個小窗口並顯示所有匹配項。 在IE9中,它不像它不工作,但我從來沒有得到完整的JSON對象。此外,大多數情況下,我必須寫出幾乎全部的名字才能獲得一場比賽 - 'Sulliv'以獲得像'Sullivan'這樣的姓氏。在FF中足以寫出'Sul'。
在Guest數據庫中有8.1k條目。不能IE處理一個很大的JSON,或者我必須改進我的腳本。這是IE和JSON或jQuery常見的問題嗎?
Atm我在輸入字段中使用'keyup'事件。隨着你的代碼我不知道我應該怎麼稱呼阿賈克斯。 –
愚蠢的問題是愚蠢的。忘了上面那個。它'有效',但我對IE的問題依然存在。這就像IE不能處理JSON。 –
這很奇怪。你能限制你從服務器返回的結果,看看它是否仍然存在? –