2013-07-05 46 views
0

可能有更好的方法來做到這一點,但現在,我需要這樣做。jQuery - 以編程方式將值插入文本字段,然後觸發點擊

我有一個谷歌地圖的地理編碼的事情發生的事情與輸入字段如下:

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

公告地理編碼字段autopopulated。通常用戶會在點擊「查找」之前手動輸入該值,但在此文件中用戶正在更新其記錄,因此我正在自動填充地址。

我使用下面的代碼來觸發點擊查找按鈕,通常會根據輸入的地址生成谷歌地圖。當用戶在點擊「查找」之前手動輸入地址時,此功能正常工作。

不要被<cfoutput>標籤分階段。這是一個Coldfusion模板,工作正常。

$(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"); 
    }); 
}) 

這不起作用,似乎什麼也沒有發生。如果我手動點擊查找按鈕,它就可以工作。不確定,但我認爲這是因爲地理編碼字段沒有手動輸入。如果是這樣的話,我會怎麼做?

回答

2

你需要把它轉過來。當您觸發click時,您的活動尚未創建。

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

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

    if(address.length != 0){ 
     $("#find").trigger("click"); 
    } 
}) 
+1

加耶,是的,做到了,謝謝。當他們讓我時,他會標記爲正確的。 – user460114

0

不知道,但我想這應該做的伎倆:

$("#find").click(); 
2

我想用觸發器(「點擊」),你不能完美地複製真實的鼠標點擊。 Insted你爲什麼不這樣做:

if(address.length != 0){ 

     $("#geocomplete").trigger("geocode");     
    } 
+0

是的,那很好。謝謝。 – user460114

相關問題