2013-12-17 61 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']'? –