Пользовательский интерфейс JQuery отображает список автозаполнения, вызванный событием focus () - PullRequest
2 голосов
/ 10 февраля 2011

Я хочу отобразить список автозаполнения, вызванный событием focus (), но похоже, что он работает только в первый раз, когда я фокусируюсь на текстовом поле «id», а затем фокусируюсь на текстовом поле «id2», и вернитесь к текстовому полю "id", мой список автозаполнения не будет отображаться, по какой причине?

<link media="all" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/themes/smoothness/jquery-ui.css" rel="stylesheet"/>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/jquery-ui.min.js"></script>

<script type="text/javascript">
    $(function() {
        $('#id').autocomplete({
            source: ["ActionScript",
                        "AppleScript",
                        "Asp",
                        "BASIC",
                        "C",
                        "C++",
                        "Clojure",
                        "COBOL",
                        "ColdFusion",
                        "Erlang",
                        "Fortran",
                        "Groovy",
                        "Haskell",
                        "Java",
                        "JavaScript",
                        "Lisp",
                        "Perl",
                        "PHP",
                        "Python",
                        "Ruby",
                        "Scala",
                        "Scheme"
                    ],
            minLength: 0
        });

        $('#id').focus(function(){           
            $(this).trigger('keydown.autocomplete');
        });
    });
</script>


<input type="text" id="id">

<input type="text1" id="id2">

Я хочу отобразить список автозаполнения, вызванный событием focus (), но похоже, что он работает только в первый раз, когда я фокусируюсь на текстовом поле «id», а затем я сосредотачиваюсь на текстовом поле «id2», и вернитесь к текстовому полю "id", мой список автозаполнения не будет отображаться, по какой причине?

<script type="text/javascript">
$(function() {
    $('#id').autocomplete({
        source: ["ActionScript",
                    "AppleScript",
                    "Asp",
                    "BASIC",
                    "C",
                    "C++",
                    "Clojure",
                    "COBOL",
                    "ColdFusion",
                    "Erlang",
                    "Fortran",
                    "Groovy",
                    "Haskell",
                    "Java",
                    "JavaScript",
                    "Lisp",
                    "Perl",
                    "PHP",
                    "Python",
                    "Ruby",
                    "Scala",
                    "Scheme"
                ],
        minLength: 0
    });

    $('#id').focus(function(){           
        $(this).trigger('keydown.autocomplete');
    });
});

Ответы [ 2 ]

3 голосов
/ 10 мая 2011

Попробуйте использовать

$ (это) .autocomplete ( "поиск")

вместо

$ (это) .trigger ( 'keydown.autocomplete')

0 голосов
/ 18 сентября 2014

Сделай так

<script type="text/javascript">
    $(function() {
        $('#id').autocomplete({
            source: ["ActionScript",
                        "AppleScript",
                        "Asp",
                        "BASIC",
                        "C",
                        "C++",
                        "Clojure",
                        "COBOL",
                        "ColdFusion",
                        "Erlang",
                        "Fortran",
                        "Groovy",
                        "Haskell",
                        "Java",
                        "JavaScript",
                        "Lisp",
                        "Perl",
                        "PHP",
                        "Python",
                        "Ruby",
                        "Scala",
                        "Scheme"
                    ],
            minLength: 0
        }).on("focus", function () {
           $(this).autocomplete("search", '');
           });

    });
</script>
...