4

Google PlacesAutcompleteAPIとjQueryを使用しています。基本的な機能は正常に機能しています。私がやりたいのは、誰かがオートコンプリートに、そのアイテムを選択してplace_changedイベントを発生させたい選択の1つとまったく同じものを入力した場合です。これは、トリガーする必要のある変更されたリスナーの場所にいくつかのロジックがあるためです。誰かがオートコンプリートオプションの1つとまったく同じテキストを入力した場合、誰かがオプションをクリックしたかのように動作する必要があるという考え方です。

これは私が試したもので、userLocationが入力です。

$("#userLocation").keyup(function(e){
    //if the text is at least 4 chars long
    if($("#userLocation").val().length > 4)
    {
        //iterate through each of the autocomplete options
        $(".pac-item").each(function(){
            if($(this).text() == $("#userLocation").val() )
            {
                //does not do what I need it to
                $(this).trigger("place_changed");
            }
        });
    }
});

私もを置き換えてみましたtrigger("place_changed").trigger("click")、役に立ちませんでした。

誰かがこれを以前にしたことがありますか?誰かがこれを機能させるための別の方法を提案できますか?どんなアドバイスでも大歓迎です、ありがとう!

4

2 に答える 2

5

ここの答えで述べたように:

google.maps.event.trigger以下のような呼び出しになる関数を呼び出す必要があります。

$("#userLocation").keyup(function(e){
    //if the text is at least 4 chars long
    if($("#userLocation").val().length > 4)
    {
        //iterate through each of the autocomplete options
        $(".pac-item").each(function(){
            if($(this).text() == $("#userLocation").val() )
            {
                google.maps.event.trigger(autocomplete, 'place_changed');
            }
        });
    }
});

ドキュメントには、trigger「place_changed」イベントのイベントリスナーに渡される関数に引数を渡すこともできることが示されています。

于 2013-02-05T02:07:17.503 に答える
0

オートコンプリートのEnterキーイベントを使用して、JavaScriptを使用してトリガーすることもできます。

次のコードを試してください。

//For Set Location pin point
var searchtext = "New York, NY";
var input = document.getElementById('pac-input');
$('#pac-input').val(searchtext);                        
setTimeout(function () {
google.maps.event.trigger(input, 'focus');
google.maps.event.trigger(input, 'keydown', { keyCode: 13 });                            
}, 10);
//End 
于 2017-02-07T06:00:59.837 に答える