2014-03-19 98 views
0
<input type="text" /> 
<input type="file" /> 

$('input[type=text]').click(function() { 
    $('input[type=file]').trigger('click'); 
}); 

當我單擊測試框時,我可以獲得瀏覽選項(打開對話框)。但是當我使用jquery觸發方法觸發文本框的點擊時,我無法獲得瀏覽選項。如何手動觸發輸入文件?

$('input[type=file]').trigger('click'); 

我該如何解決這個問題?

+2

它爲我http://jsfiddle.net/jUsB4/ – laaposto

+0

爲我工作! ! http://jsfiddle.net/FrFD3/ – Unknown

+0

看起來像@ user2039104在html之前寫入JS代碼(DOM尚未準備好) –

回答

2

什麼幫助,我是設置事件監聽器裏:

$(document).ready(function(){ 
    $('input[type=text]').click(function() { 
     $('input[type=file]').trigger('click'); 
    }); 
}}; 

即使用這樣的伎倆我。你也可以嘗試一下。

0

您可以將代碼封裝在DOM準備好的處理程序$(function() {...});中,以確保在執行jQuery代碼之前正確加載DOM元素。

$(function(
    $('input[type=text]').click(function() { 
     $('input[type=file]').trigger('click'); 
    }); 
)}; 
+0

或者只是將您的JS放在頁面的末尾 –

0

我的信念是你的選擇$('input[type=text]')沒有選擇,給它一些ID,並使用它像

$("#text").click(function(){ 
    $("#file").trigger("click"); 
});