2013-12-17 4 views
3

아래 예제와 같이 여러 개의 div가있는 페이지가 있습니다. 각 div에는 필드, 숨김 필드 및 버튼이 있습니다.jQuery : 클릭 또는 포커스 입력 필드

(보이는) 입력 필드가 트리거되는 버튼을 클릭하면 어떻게됩니까? 둘 다 동일한 기능을 수행하므로 클릭 또는 포커스를 트리거해야합니다.

각 버튼은 class="triggerBtn"이고 해당 입력 필드는 class="inputField"입니다.

예 사업부 :

<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")을 클릭 (함수 (전자) {하여 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

"() 함수"수동으로 jQuery를 사용하여 트리거해야하는 경우 의 onclick =이 see here 당신이 할 수있는 추가 this by

$("#field1").trigger("click"); 
제 생각 엔 0

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]'는'input [type = 'text']'가 아니어야합니까? –

관련 문제