Как использовать JQuery UI автозаполнения 1.8.4? - PullRequest
0 голосов
/ 12 сентября 2010

я хочу отобразить подсказки как ИМЯ УЛИЦЫ> ГОРОД> СТРАНА (4 разных улицы, город, страна, URL, который я получаю в json с сервера) и когда я выбрал один, он будет переходить по ссылке, как ссылка и выделит буквы, которые я печатаю, которые находятся в подсказках как мне это сделать? вот мой код

<script type="text/javascript">
    $('#search').autocomplete({
        source: function(req, add){  

            //pass request to server  
            $.getJSON("suggest.php?callback=?", req, function(data) {  

                //create array for response objects  
                var suggestions = [];  

                //process response  
                $.each(data, function(i, val){  
                suggestions.push(val.lable+' '+val.value+' '+val.both);  
            });  

            //pass array to callback  
            add(suggestions);  
            });  
        },  
        select: function(e, ui) {
        $('#search').val(ui.item.lable);
        },
        width: 300,
        max: 10,
        delay: 50,
        minLength: 1,
        scroll: false,
        highlightItem: true
      });
    </script>

ответ сервера

([{"lable":"apartamentos mojácar beach","value":"mojacar","both":"spain"},{"lable":"hotel mandakini grand","value":"new delhi","both":"india"},{"lable":"hotel sol y mar sharming inn","value":"sharm el sheikh","both":"egypt"},{"lable":"la quinta inn and suites sarasota","value":"sarasota","both":"usa"},{"lable":"ocean sand golf and beach resort","value":"punta cana","both":"dominican republic"},{"lable":"rooms barcelona","value":"barcelona","both":"spain"},{"lable":"villa maroc essaouira","value":"essaouira","both":"morocco"},{"lable":" il casale farmhouse with panoramic swimming poo","value":"bettona","both":"italy"},{"lable":" shelley's ","value":"lynton","both":"united kingdom"},{"lable":" 1 melrose blvd by seasons in africa","value":"johannesburg","both":"south africa"}]);

Я знаю, что проблема в поле «ВЫБОР» и «ИСТОЧНИК» автозаполнения, но я не знаю, как с ним работать. как разобрать ответ, чтобы он мог работать. он работает только с одним полем, но не с 4 полями (переменные)

//////////////////////

Хорошо, теперь я могу получить 3 сервера с сервера и добавить их в исходный код. но я не могу выбрать только один, все время выбрать все строки! как я могу справиться с этим?

Ответы [ 2 ]

1 голос
/ 12 сентября 2010

Если вы хотите использовать автозаполнение jquery ui, ваши данные должны быть «простым массивом строк или содержать объекты для каждого элемента в массиве со свойством метки или значения или обоими». Это из документации на http://jqueryui.com/demos/autocomplete/

Ваш ответ сервера не соответствует ожидаемому типу данных, вам следует изменить файл offer.php для последующей обработки данных в пары метка-значение.

Насколько я понимаю, вы также хотите выполнить пользовательское действие, когда элемент выбирается из автозаполнения, поэтому вам также следует добавить обработчик для события 'select'.

0 голосов
/ 12 сентября 2010

Я не понимаю.Как ваш код не работает?Как выглядит файл offer.php?Если offer.php - это список строк, отформатированный так, как вы хотите, чтобы он работал нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...