2011-01-10 3 views
0

Сегодня я начал использовать JQuery. Я нашел this explanation, как это сделать.Почему автозаполнение от jquery не работает?

На этой странице у меня есть полный код:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
        "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
    <script src="http://code.jquery.com/jquery-latest.js"></script> 
    <link rel="stylesheet" href="http://dev.jquery.com/view/trunk/plugins/autocomplete/demo/main.css" type="text/css" /> 
    <link rel="stylesheet" href="http://dev.jquery.com/view/trunk/plugins/autocomplete/jquery.autocomplete.css" type="text/css" /> 
    <script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/autocomplete/lib/jquery.bgiframe.min.js"></script> 
    <script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/autocomplete/lib/jquery.dimensions.js"></script> 
    <script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/autocomplete/jquery.autocomplete.js"></script> 
    <script> 
    $(document).ready(function(){ 
    var data = "Core Selectors Attributes Traversing Manipulation CSS Events Effects Ajax Utilities".split(" "); 
$("#example").autocomplete(data); 
    }); 
    </script> 

</head> 
<body> 
    API Reference: <input id="example" /> (try "C" or "E") 
</body> 
</html> 

я копировать вставить код и он не работает. Я должен упомянуть, что он работает, если я попробую его на той странице, о которой я упомянул ранее (поэтому JavaScripts включены в моем браузере).

У меня есть идея, как решить эту проблему, потому что у меня нет сообщения об ошибке и нет предыдущего опыта работы с jquery. Кто-нибудь может мне помочь?

ДОБАВЛЕНО:

Я нашел функцию, которая может иметь важное значение. Когда я загружаю вышеупомянутый код/​​страницу, автозаполнение работает так, как ожидается! Если я перезагрузите страницу, она немного изменит ее внешний вид (появится пробел между полем ввода и верхней частью страницы) и автоматически завершите работу. Это вам что-то говорит?

+0

Ну, это работает для меня. Я использую Firefox. Установите Firebug, отличный отладчик для firefox. Если вы собираетесь работать с jQuery, вам это обязательно понадобится. – simon

+0

Да, работает для меня тоже. –

+0

Невозможно точно отладить вашу проблему с дополнительной информацией о настройке сервера. Я бы порекомендовал вам установить firebug (http://getfirebug.com/) и посмотреть, выполняется ли скрипт. Известно, что IE имеет проблемы с этим типом скриптов. –

ответ

2

Это потому, что он должен быть: $("#example").autocomplete({ source: data })

Кажется docs you found устарела. Более актуальной версии можно найти здесь: http://jqueryui.com/demos/autocomplete/

+0

Функция автозаполнения принимает объект с источником атрибута, который содержит данные. Другие атрибуты включают в себя: - minlength (нет символов, которые должны быть введены перед автозаполнениями) отключены (что отключает автозаполнение), задержка (без миллисекунд после нажатия клавиши перед запуском автозаполнения) и appendto (какой элемент меню должен быть прилагается к). – Nikhil

+0

Код для инициализации автозаполнения со всеми параметрами будет выглядеть так: $ ("# example"). Autocomplete ({source: data, delay: 10, minlength: 3, appendTo: "#someElem"}); Вы можете сбросить опцию после инициализации, например: («#пример»). Автозаполнение («опция», «задержка», 0); – Nikhil

+0

Marcus Ekwall, к сожалению, это не решило проблему. Я добавил к моему оригинальному вопросу некоторые подробности. Может быть, они дают вам какой-то намек? Спасибо за любую помощь! – Roman

0

попробовать .split ("")

var data = "Core Selectors Attributes Traversing Manipulation CSS Events Effects Ajax Utilities".split(" ,"); 

также приложить Sorce

+0

Что? что первая строка кода совершенно неверна и вернет одно значение «Array», выглядящее следующим образом: «[« Атрибуты основных селекторов »,« Трассировка манипулирования »,« События CSS-событий »,« Ajax Utilities »]' – mekwall

+0

Я думал, что он разделил бы массив на ["core", "selectors", "traversing"] ... если это похоже на u, то я ошибаюсь, я признаю coz, он будет показывать это одно полное предложение как вариант автозаполнения ... – Rafay

Смежные вопросы