您好如何将事件添加到同一表单的多个字段中。
在下面的代码中,我想将keypress事件添加到userName。
$("#existingUserForm :input[name='userPassword']").keypress(
function(e) {
if(e.which == 13) {
processLogin();
}
});
答案 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" />