2014-10-03 4 views
0

Я пытаюсь использовать jQuery UI с автозаполнением, но он не отображает список или что-то еще. Насколько мне известно, нет необходимости объявлять ни ul, ни li s с пользовательским интерфейсом jQuery.jQuery UI autocompletion не работает

<html> 
    <head> 
     <link href="./jquery-ui.css" rel="stylesheet"> 

     <script src="./jquery-1.11.1.js"></script> 
     <script src="./jquery-ui.js"></script> 
    </head> 

    <body> 
     <input id="pu_location" size="38" type="text" />        
     <input type="hidden" id="pu_locationID" /> 

     <script> 
      Script is below. 
     </script> 
    </body> 
</html> 

Сценарий:

<script> 

$(document).ready(function() { 

     $("#pu_location").autocomplete({ 

      source: function(request, response) { 

      $.getJSON("/test.php", { country_code: "USA",term:$('#pu_location').val()}, 
         function(data) { 
         alert(data[0].id); 
         var array =[]; 
         for(key in data){ 
          if (data[key].label!=''){ 
           array.push(data[key].label); 
           } 
          } 
          alert(array); 
          response(array); 
         }); 
      }, 
      delay: 100, 
      minLength: 3       
      }); 
}); 
</script> 

К слову, data совершенен. alert s показывают, что все в порядке.

Отредактировано: Теперь он работает с Chrome, но не с Firefox!

+0

Не могли бы вы отформатировать этот код o бит, это было бы более приятным для глаз :) – Beri

+0

Я пробовал. Я использую простой текстовый редактор. – Arnold

+0

@Beri Без '$ (function() {' и с 'function (request, response) {' как функция вне '$ (" # pu_location "). Autocomplete ({код будет выглядеть намного лучше, вы знаете .. – Regent

ответ

0

Первый ключ: Снимите:

$(function() { 

Вы пытались создать selfexecuting функцию здесь расслоение плотной, но в этом нет необходимости, потому что вы уже в готовой функции-функции annonymus.

Затем положить бревно непосредственно перед линией

$("#pu_location").autocomplete({ 

просто чтобы быть уверенным, этот код выполняется.

Вторая подсказка: вы получаете данные об ответе, затем создаете и заполняете массив, и в конце вы переходите к данным ответа, так в чем смысл этой обработки?

+0

Выполнено, и предупреждения показывают правильные данные. Я просто удалил это и все еще, полученный контент не будет отображаться – Arnold

+0

Также попытался с переменной данных и созданным массивом со строками, не повезло. – Arnold

+0

Причина массива: я думал, что ответ не смог обработать объекты, поэтому я сделал массив со строками. Не работал. – Arnold

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