Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.01.2015, 13:58
Интересующийся
Отправить личное сообщение для lok105 Посмотреть профиль Найти все сообщения от lok105
 
Регистрация: 05.01.2015
Сообщений: 14

ui autocomplete
Добрый день, форумчане! Снова за помощью. Может найдется у кого минутка. Предполагаю, что ситуация пустяковая, но моего скудного разума не хватает. Итак...

Есть поля input

<table id="tableTraffic">
             <tr>
                 <td><input class='pole' type='text' name='Come'/></td>
             </tr>
             <tr>
                 <td><input class='pole' type='text' name='Come'/></td>
             </tr>
</table>



Есть скрипт.
sours приходится делать через функцию, т.к. для разных пользователей должен быть выбор из разных массивов.
И всю голову сломал себе как должна выглядеть возвратная функция
success. Что бы автокомплит заработал. Через фаербаг смотрю ответ json приходит, а вот как функцию вывода написать не догоняю. Помогите, а???

$(function(){
    
    var user = $('#userName').html();
   
  $('.pole').autocomplete({
        source: function(request, response){
            $.ajax({
                url: 'data.php',
                dataType: 'json',
                type: "GET",
                data: {term: $('.pole').val(), user: user},
               
               success: //????

            }) // конец ajax
               

       }, // конец source
        
       minLength: 2,

  });// конец автокомплит

});


Есть data.php файл, в котором создается массив

<?php

$user = $_GET['user'];

// Тут бла бла бла - сама функция в результате которой создается массив например

$items = array("Вилигельмо 2", "Вилигельмо 3", "Винипух", "Вино", "Крак", "Курица");

        $term = trim($_GET['term']);
		
		 //Шаблон рег. выражения
		$pattern = '/^'.preg_quote($term).'/iu';
		
if(!empty($user)){
    echo json_encode(preg_grep($pattern, $items));
}
?>



Спасибо!

Последний раз редактировалось lok105, 16.01.2015 в 14:04.
Ответить с цитированием
  #2 (permalink)  
Старый 16.01.2015, 14:27
kyt kyt вне форума
Интересующийся
Отправить личное сообщение для kyt Посмотреть профиль Найти все сообщения от kyt
 
Регистрация: 29.11.2014
Сообщений: 24

У меня так:
$.ajax({
							type: "GET",
							url: "edit.php",
							data: 'id='+t,
							success: function(json){
...
var arr_arr=json;
								$(function() {
									$( "#company" ).autocomplete({
										source: arr_arr[0]
										});
									});
									$(function() {
									//alert (arr_arr[2]);
									$( "#position" ).autocomplete({
										source: arr_arr[1]
										});
									});
...

Не могу посмотреть Ваш пример, но у меня, вроде, работает. Возможно, можно сделать лучше, я не сильно опытен.

Последний раз редактировалось kyt, 16.01.2015 в 14:30.
Ответить с цитированием
  #3 (permalink)  
Старый 16.01.2015, 14:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

lok105,
function(data) {
        response($.map(data, function(item) {
          return {
            label: item,
            value: item
          }
        }));
      }
Ответить с цитированием
  #4 (permalink)  
Старый 16.01.2015, 14:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

lok105,
term: $('.pole').val() ??? может term: this.value
Ответить с цитированием
  #5 (permalink)  
Старый 16.01.2015, 16:47
Интересующийся
Отправить личное сообщение для lok105 Посмотреть профиль Найти все сообщения от lok105
 
Регистрация: 05.01.2015
Сообщений: 14

Рони, спасибо! я понимал, что простое что-то должно быть. Работает!!! )))
Kyt, так же спс!!

Рони, если ставлю term: this.value вместо term: $('.pole').val()
то term не передается и возвращает весь массив значений или пустой если в php указать if(!empty($_GET['term'])
Ответить с цитированием
  #6 (permalink)  
Старый 16.01.2015, 17:53
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

lok105,
если полей несколько то $('.pole').val() значение только первого поля
Ответить с цитированием
  #7 (permalink)  
Старый 16.01.2015, 18:06
Интересующийся
Отправить личное сообщение для lok105 Посмотреть профиль Найти все сообщения от lok105
 
Регистрация: 05.01.2015
Сообщений: 14

Да, с этим сейчас и разбираюсь, но term: this.value не отсылает GET['term'] не знаю почему
Ответить с цитированием
  #8 (permalink)  
Старый 16.01.2015, 18:42
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

lok105,
назначайте autocomplete через цикл
$(function() {
    var user = $("#userName").html();
    $(".pole").each(function(indx, el) {
        $(el).autocomplete({
            source: function(request, response) {
                $.ajax({
                    url: "data.php",
                    dataType: "json",
                    type: "GET",
                    data: {
                        term: el.value,
                        user: user
                    },
                    success: function(data) {
                        response($.map(data, function(item) {
                            return {
                                label: item,
                                value: item
                            }
                        }))
                    }
                })
            },
            minLength: 2
        })
    })
});
Ответить с цитированием
  #9 (permalink)  
Старый 16.01.2015, 19:14
Интересующийся
Отправить личное сообщение для lok105 Посмотреть профиль Найти все сообщения от lok105
 
Регистрация: 05.01.2015
Сообщений: 14

Рони, супер! спасибо еще раз! работает!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
виджет autocomplete() aj-nik jQuery 9 31.10.2014 21:47
Autocomplete в динамически созданной форме Nobas Events/DOM/Window 7 24.03.2014 15:05
Autocomplete c url (js+pl) DavydovPK jQuery 0 11.02.2014 14:15
$.ajax в autocomplete Bezlepkin AJAX и COMET 0 25.03.2013 18:38
Выделение символов ввода в jQuery Autocomplete Luter1984 Библиотеки/Тулкиты/Фреймворки 1 04.02.2013 10:13