Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Событие правильного ввода в autocomplete 
:(
    Опции темы
zheka1980
Дата 2.1.2015, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 3.8.2014

Репутация: нет
Всего: нет



Господа, прикрутил к своему проекту autocomplete, все шуршит как надо.
Но во время испытаний наткнулся на одну деталь. Событие onSelect срабатывает тогда, когда по настоящему выбираешь один из предлагаемых вариантов.
А как мне отловить ситуацию, когда набираемое слово совпадает с одним из предлагаемых вариантов, но пользователь не кликает на него мышкой?

PM MAIL   Вверх
sQu1rr
Дата 6.1.2015, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 597
Регистрация: 11.11.2008
Где: london

Репутация: 1
Всего: 13



Цитата(zheka1980 @  2.1.2015,  18:56 Найти цитируемый пост)
А как мне отловить ситуацию, когда набираемое слово совпадает с одним из предлагаемых вариантов, но пользователь не кликает на него мышкой?

А что он? энтер нажимает или как на том сайте где банят многих людей которые делают посты на этом форуме?
PM MAIL Skype GTalk   Вверх
zheka1980
Дата 6.1.2015, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 3.8.2014

Репутация: нет
Всего: нет



Я наверное неправильно акцент сделал.
В конце действительно пользователь или ентер нажимает или снимает фокус с поля, как это отловить я знаю. Я не про событие спрашивал.
Вопрос в другом -  виджет, который в процессе набора слова проверяет его соответствие некоему списку, по окончании этого набора - задается виджет ли вопросом - а не совпало ли введенное слово с одним из тех, что в списке?
Если нет, то я бы мог это сделать вручную по определенному событию. Но как получить содержимое ниспадающего списка? 
PM MAIL   Вверх
sQu1rr
Дата 6.1.2015, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 597
Регистрация: 11.11.2008
Где: london

Репутация: 1
Всего: 13



есть событие response оно запускается после каждого поиска.

http://jsfiddle.net/sQu1rr/1ofvs34v/3/

rtfm тут http://api.jqueryui.com/autocomplete/#event-response
PM MAIL Skype GTalk   Вверх
zheka1980
Дата 7.1.2015, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 3.8.2014

Репутация: нет
Всего: нет



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

Код

    $('.search').autocomplete(
    {
         source:'search_product.php', 
         deferRequestBy: 300,
         maxHeight: 400, // Максимальная высота списка подсказок, в пикселях
         width: 300, // Ширина списка
         zIndex: 9999, // z-index списка
          change: function () {},
          close: function () {},
          select: function(event, ui) 
           { 
            var element_index=$('.search').index(this);
            $('.ing_caloric').eq(element_index).val(ui.item.caloric);
            $('.ing_proteins').eq(element_index).val(ui.item.proteins);
            $('.ing_fats').eq(element_index).val(ui.item.fats);
            $('.ing_carbohydrates').eq(element_index).val(ui.item.carbohydrates);
            product_parametres_count();
          },

response: function(event, ui) {
        
        if (ui.content.length) {
            for (var i = 0; i < ui.content.length; ++i) {
                if (ui.content[i].label.toLowerCase() == $('.search').val().toLowerCase()) 
                {
                    chosen = ui.content[i].label;
                    break;
                }
            }
        }
      
         span.html(chosen);
    }          
          
    })


Хочется чтобы и по response делалось то же самое. Нельзя ли как-то, в случае истинности условия, заданного в response вызывался обработчик select, с соответствующим параметром?
Если нет то как добраться до ui.item.caloric ? ui обрабатываемый в response имеет какую-то другую структуру...

PM MAIL   Вверх
sQu1rr
Дата 7.1.2015, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 597
Регистрация: 11.11.2008
Где: london

Репутация: 1
Всего: 13



Цитата(zheka1980 @  7.1.2015,  08:33 Найти цитируемый пост)
Хочется чтобы и по response делалось то же самое. Нельзя ли как-то, в случае истинности условия, заданного в response вызывался обработчик select, с соответствующим параметром?

Ну так а в чем проблема, я не вижу никаких попыток что-то изменить, кроме того что нету знака доллара у названия переменной span

Цитата(zheka1980 @  7.1.2015,  08:33 Найти цитируемый пост)
Если нет то как добраться до ui.item.caloric 

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

Цитата(zheka1980 @  7.1.2015,  08:33 Найти цитируемый пост)
ui обрабатываемый в response имеет какую-то другую структуру...

Ну а вы попробовали вывести ее в console.log? что это за структура?
PM MAIL Skype GTalk   Вверх
zheka1980
Дата 7.1.2015, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 3.8.2014

Репутация: нет
Всего: нет



не знаю причину, но со знаком доллара у меня autocomplete вообще не работает
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




[ Время генерации скрипта: 0.0537 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.