jQuery:触发单击或焦点输入字段

时间:2013-12-17 13:25:33

标签: javascript jquery triggers eventtrigger

我有一个包含多个div的页面,看起来像下面的示例。 每个div包含一个字段,一个隐藏字段和一个按钮。

如何通过点击(可见)输入字段被触发的按钮来实现这一目标? 我需要触发一次点击或焦点,因为它们都会触发相同的功能。

相关的每个按钮都有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>

5 个答案:

答案 0 :(得分:11)

我想你想要:

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

答案 1 :(得分:5)

添加     Onclick =“function()”see here 如果你需要使用jquery手动触发它,你可以通过

来实现
$("#field1").trigger("click");

see also here

答案 2 :(得分:1)

$(".triggerBtn").on("click",function(e){
      $(this).closest("div").find(".inputField").click();
     //or $(this).closest("div").find(".inputField").focus();
});

答案 3 :(得分:0)

$(".triggerBtn").parent().children("input[type:text]").first().focus()

答案 4 :(得分:-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();
    }
});