2013-12-17 88 views
3

我有一個頁面有多個div,它們都看起來像下面的例子。 每個div包含一個字段,一個隱藏字段和一個按鈕。jQuery:觸發點擊或焦點輸入字段

如何通過點擊按鈕(可見)輸入字段被觸發來實現該功能? 我需要觸發一個點擊或焦點,因爲它們都具有相同的功能。

有問題的每個按鈕都有class="triggerBtn",對應的輸入字段有class="inputField"

實施例的div:

<div> 
    <input type="text" class="inputField" id="field1" name="field1" /> 
    <input type="hidden" name="field1" /> 
    <button type="button" class="btn btn-primary triggerBtn">Find</button> 
</div> 
+0

'$( 「triggerBtn」)點擊(函數(E){myFunction的(); });''和'$(「。inputField」)。focus(function(e){myFunction();});' – TCHdvlp

回答

10

我想你想:

$(".triggerBtn").click(function() { 
    $(this).closest('div').find('.inputField').focus(); 
}); 
+1

你猜...像我們所有人一樣。只要這個問題不清楚,我們就無法幫助他/她。 – TCHdvlp

+1

@TCHdvlp我想你是對的... –

+1

你猜對了! :)感謝您的快速回復,抱歉,我不夠清楚。 – user2571510

-1

更新的jsfiddle:http://jsfiddle.net/ZmL4y/3/

$(document).on("click",".triggerBtn", function() { 
    var inputField = $(this).closest('div').find('.inputField'); 
    if($(inputField).is(":visible")) 
    { 
     $(inputField).focus(); 
    } 
}); 
+0

如何聚焦元素數組? – TCHdvlp

+0

補碼忘了他有多個DIV的... –

4

添加 的onClick = 「功能()」 see here 如果需要使用jquery手動觸發它可以以這由

$("#field1").trigger("click"); 

see also here

1
$(".triggerBtn").on("click",function(e){ 
     $(this).closest("div").find(".inputField").click(); 
    //or $(this).closest("div").find(".inputField").focus(); 
}); 
0
$(".triggerBtn").parent().children("input[type:text]").first().focus() 
+3

不應'input [type:text]'輸入[type ='text']'? –