Показать сообщение отдельно
  #1 (permalink)  
Старый 09.01.2016, 18:15
Интересующийся
Отправить личное сообщение для Prorab337 Посмотреть профиль Найти все сообщения от Prorab337
 
Регистрация: 19.05.2015
Сообщений: 18

JQuery UI Autocomplete клонируется. Как исправить?
Для текстового поля есть автозаполнение. Условие, чтобы при клике в поле выпадал весь список. При простом варианте без $(document).on('focus', 'input[name *= city]', function() { ... все работает нормально. Как только пытаюсь повесь автокомплит на динамический элемент, то при клике в input больше 1го раза autocomplete выполняется такое же количество раз сколько раз было кликов в текстовом поле. То есть при 10-ом клике autocomplete 10-ть раз сработает. Как быть? Было у кого такое? Как лечить?
$(document).on('focus', 'input[name *= city]', function() {
            
            $(this).autocomplete({
                minLength: 0,
                source: function(request, response){
                    console.log('get');
                    shippingData.getAddress('getCities', request.term).done( function() {
                        response($.map(shippingData.src, function(item) {
                            return {
                                label: item['Description'],
                                value: item['Description']
                            }
                        } ));
                    } );    
                },
                select: function(e, u) {
                    var old_value = $(this).val();
                    
                    $(this).val(u.item.value);
                    
                    if (u.item.value != old_value) {
                        $(this).trigger('change');
                    }
                },
                position: {
                    'my': 'right top', 
                    'at': 'right bottom'
                }
            } )
            .on('click', function() {
                $(this).autocomplete('search', '');
            } );
            
        });
Ответить с цитированием