Я пытаюсь включить автозаполнение jQuery. Он отлично работает с Firefox 3.6 .. Однако он не работает в Chrome 10, Firefox 9, IE 7-9, Opera, Safari 5. В основном все новые браузеры. Используя средства отладки, есть ответ на стороне сервера в формате [«Маршрутизатор», «Microsoft Outlook 2007»,] во всех браузерах. Однако выпадающее меню не отображается, кроме одного браузера.Функция автозаполнения jQuery не работает в новых браузерах
Header Files
<script type="text/javascript" src="js/jquery-1.6.2.js"></script>
<script type="text/javascript" src="js/jquery.ui.core.js"></script>
<script type="text/javascript" src="js/jquery.ui.widget.js"></script>
<script type="text/javascript" src="js/jquery.ui.position.js"></script>
<script type="text/javascript" src="js/jquery.ui.datepicker.js"></script>
<script type="text/javascript" src="js/jquery.ui.autocomplete.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.16.custom.min.js"></script>
Javascript Функция
$(function() {
$("#datepicker").datepicker();
function split(val) {
return val.split(/,\s*/);
}
function extractLast(term) {
return split(term).pop();
}
$("#textbox")
// don't navigate away from the field on tab when selecting an item
.bind("keydown", function(event) {
if (event.keyCode === $.ui.keyCode.TAB &&
$(this).data("autocomplete").menu.active) {
event.preventDefault();
}
})
.autocomplete({
source: function(request, response) {
var url=window.location.protocol+"//"+window.location.host+"/test/generateList";
$.getJSON(url, {
term: extractLast(request.term)
}, response);
},
search: function() {
// custom minLength
var term = extractLast(this.value);
if (term.length < 2) {
return false;
}
},
focus: function() {
// prevent value inserted on focus
return false;
},
select: function(event, ui) {
var terms = split(this.value);
// remove the current input
terms.pop();
// add the selected item
terms.push(ui.item.value);
// add placeholder to get the comma-and-space at the end
terms.push("");
this.value = terms.join(", ");
return false;
}
});
});
Элемент
Возможно, у вас есть дублирующие функции в ваших включенных, но не уверен, но jquery-ui-1.8.16.custom.min.js содержит некоторые функции в jquery.ui.core.js, например? Попробуйте извлечь некоторые из библиотек. – amelvin
попробовал играть со всеми файлами, но это не помогло –
Всякий раз, когда я использую автозаполнение, у меня есть только теги скриптов для jQuery и jQuery UI, я никогда не включал в них сценарии, и Autocomplete всегда работает для меня. Не могли бы вы разместить ссылку на страницу? Кроме того, я бы не назвал Chrome 10 недавним: P –