2012-01-25 2 views
6

입력이있는 양식 (ID 포함)이 있습니다. 그리고 하나의 이벤트를 바인딩하여이 양식의 입력을 클릭해야합니다.양식의 모든 입력에 대해 이벤트를 바인딩하는 방법은 무엇입니까?

$("#siteAdress").click(function(){ 
     $("#reg-login").click(); 
    }); 
    $("#phoneNumber").click(function(){ 
     $("#reg-login").click(); 
    }); 
    $("#reg-email").click(function(){ 
     $("#reg-login").click(); 
    }); 
    $("#reg-login").click(function(){ 
     // DO SOMETHING 
    }); 

방법을 최적화하기 :

지금,이 구조를 사용합니까?

답변

14

가장 쉬운 방법은 당신이에 바인딩하는 데 필요한 모든 요소에 클래스를 추가하고 사용하는 것이 아마도 :이 옵션이없는 경우

$(".event-user").click(function() { /* do something */ }) 

, 당신은 양식에 대한 id을 사용할 수 있습니다, 모든 입력 어린이를 조회 :

$("#my-form input[type=text]").click(function() { /* do something */ }) 

그리고 수, 당신은 항상 선택기의 쉼표로 구분 된 목록 사용할 수 없습니다 둘 경우 :

$("#siteAddress, #phoneNumber, #reg-email, #reg-login") 
    .click(function() { /* do something */}) 
,369을
1

사용이

$("form input:text").click(function(){ 
    $("#reg-login").click(); 
}); 
2

는 당신이 입력의 종류에 따라, 당신은 광범위하게 또는 미세 입자에게 그것을 할 수 있습니다. 그들은 모두 input 형 요소 인 경우 예를 들어, 단지 광범위하게 그것을 :

$('input').click(function(){ ... }); 

를 그렇지 않으면 텍스트 입력 유형에 대해 특별히을 수행하려는 경우, 예를 들어, 당신은이 작업을 수행 할 수 있습니다

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

모두 선택자입니다. 희망이 도움이 ...

1

당신은 일반> 사인을 사용해야합니다. 즉, 양식 ID를 얻은 다음 한 줄로 모든 어린이에게 클릭 기능을 추가하면됩니다.

$('#formId > input').each(function() { 
    $(this).click(function() { 
     //SOME CODE - btw you can ge the value with this.value; 
    }) 
}); 

희망이 도움이 될 것입니다.

1
$('form input').click(function (e) { 
      SearchForm();//Call function you want 
      return false; 
     }); 

    $('form input').keypress(function (e) { 
      SearchForm();//Call function you want 
      return false; 
    }); 
관련 문제