2010-02-26 96 views
2

嗨如何將事件添加到同一表單的多個字段中。如何將事件添加到同一字段的多個字段

在下面的代碼我想添加keypress事件給userName也。

$("#existingUserForm :input[name='userPassword']").keypress( 
     function(e) {  
     if(e.which == 13) { 
      processLogin(); 
     } 
    }); 

回答

2
$("#existingUserForm :input[name='userPassword'], #existingUserForm :input[name='userName'] ").keypress( 
    function(e) {  
     if(e.which == 13) { 
      processLogin(); 
     } 
}); 

請閱讀有關multiple selectors的文檔。

2

可以使用add()方法將元素添加到您的選擇:

$('#existingUserForm :input[name=userPassword]') 
    .add('#existingUserForm :input[name=userName]') 
    .keypress(function() { ... 

您還可以通過用逗號分隔鏈中的一個$()子句中多個選擇,但add()方法通常是更好爲了可讀性。

您還可以使用filter()

$('#existingUserForm input').filter(function() { 
    var name = $(this).attr('name'); 
    return name == 'userPassword' || name == 'userName'; 
}).keypress(function() { ... 

最簡單的方法就是給予的元素相同的類名,那麼你的選擇將簡化爲:

$('#existingUserForm .checkField').keypress(function() {... 

...因爲你投入是這樣的:

<input name="userName" class="checkField" /> 
<input name="userPassword" class="checkField" /> 
相關問題