如何将事件添加到同一字段的多个字段

时间:2010-02-26 06:36:06

标签: jquery

您好如何将事件添加到同一表单的多个字段中。

在下面的代码中,我想将keypress事件添加到userName。

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

2 个答案:

答案 0 :(得分:3)

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

请阅读有关multiple selectors

的文档

答案 1 :(得分: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" />