открыть div автозаполнения результатов при нажатии на текстовое поле - PullRequest
1 голос
/ 02 сентября 2010

Я использую этот плагин для автозаполнения

http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete

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

я пробовал с $("#textbox").search(), но не работает

Как я могу это сделать?

спасибо

Ответы [ 3 ]

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

Вот учебник от farrukhaziz о том, как добавить эту функциональность в плагин: http://plugins.jquery.com/node/10336

Вам нужно будет отредактировать исходный код плагина.

Добавьте часть 'LaunchManual' в этот раздел источника.

        flushCache: function() { 
                return this.trigger("flushCache"); 
        }, 
        setOptions: function(options){ 
                return this.trigger("setOptions", [options]); 
        }, 
        unautocomplete: function() { 
                return this.trigger("unautocomplete"); 
        }, 
        launchManual: function() {                         //ADD THIS
                return this.trigger("launchManual"); 
        }

и бит «LaunchManual» в этом разделе:

        }).bind("flushCache", function() { 
                cache.flush(); 
        }).bind("setOptions", function() { 
                $.extend(options, arguments[1]); 
                // if we've updated the data, repopulate 
                if ( "data" in arguments[1] ) 
                        cache.populate(); 
        }).bind("unautocomplete", function() { 
                select.unbind(); 
                $input.unbind(); 
                $(input.form).unbind(".autocomplete"); 
        }).bind("launchManual", function() {              //ADD THIS
                if( !cache.load( $input.val() ) ) 
                { 
                        cache.flush(); 
                        cache.populate(); 
                } 
                lastKeyPressCode = KEY.DOWN; // equivalent of 40 (down arrow) 
                onChange(0, true); 
        });

Затем вы можете вызвать функцию, чтобы показать выпадающий список:

$('#textbox').click(function() {
   $(this).launchManual();
});
0 голосов
/ 02 сентября 2010

Попробуйте:

var input = $('#myinput');

input.autocomplete(data, {minChars: 0});
input.focus(function(){ input.keypress(); });
0 голосов
/ 02 сентября 2010

Попробуйте это:

$('#textbox').click(function() {
   $(this).trigger('focus');
});
...