0

これを行うにはもっと良い方法があるかもしれませんが、今のところ、この方法で行う必要があります。

次のように、入力フィールドでGoogleマップのジオコードを行っています。

<input id="geocomplete" type="text" placeholder="Type in an address" style="width:400px;" value="#url.address#" />
<input id="find" type="button" value="find" />

ジオコード フィールドが自動入力されていることに注意してください。通常、ユーザーは「検索」を押す前にこの値を手動で入力しますが、このファイルではユーザーがレコードを更新しているため、アドレスを自動入力しています。

次のコードを使用して [検索] ボタンをクリックすると、通常は入力された住所に基づいて Google マップが生成されます。これは、ユーザーが「検索」を押す前にアドレスを手動で入力するとうまく機能します。

<cfoutput>タグに惑わされないでください。これはコールドフュージョン テンプレートであり、正常に動作します。

$(function(){
    var address = '<cfoutput>#url.address#</cfoutput>' || "";

    if(address.length != 0){
        $("#find").trigger("click"); // doesn't work 
        /*$("#geocomplete").trigger("geocode");*/ // doesn't work either                    
    }

    $("#find").click(function(){
        $("#geocomplete").trigger("geocode");
    });
})

これは機能しません。何も起こらないようです。[検索] ボタンを手動でクリックすると、機能します。よくわかりませんが、ジオコード フィールドが手動で入力されていないためだと思います。その場合、どうすればよいですか?

4

3 に答える 3

2

trigger("click") では、実際のマウス クリックを完全に再現することはできないと思います。やってはいけない理由:

if(address.length != 0){

        $("#geocomplete").trigger("geocode");                 
    }
于 2013-07-05T10:07:09.903 に答える
0

よくわかりませんが、これでうまくいくはずです:

$("#find").click();
于 2013-07-05T10:03:24.577 に答える