Jquery在具有相同id的多个输入中检测按键

时间:2012-11-19 04:52:48

标签: javascript jquery html

所以我有一堆输入框具有相同的ID但不同的名称如下:

<input type="text" id="description" name="1">
<input type="text" id="description" name="2">
<input type="text" id="description" name="3">

现在对于一个输入框(只有一个框使用id)我使用:

$('#description').keypress(function(....

我理想的是能够做的是使用上面的函数,然后根据输入框的名称做一些事情,但是多个输入框带有相同的id。这有可能吗?

3 个答案:

答案 0 :(得分:4)

你应该为html元素设置唯一的id,你应该分配一个公共类并通过它访问它。

<强> Live Demo

<input type="text" id="description1" name="1" class="commonclass">
<input type="text" id="description2" name="2" class="commonclass">
<input type="text" id="description3" name="3" class="commonclass">


 $('.commonclass').keypress(function(event){
       alert("keycode: " + event.keyCode);
       alert("id: " + this.id);
 });​

答案 1 :(得分:0)

将类名应用于多个元素。然后在类中使用jquery来处理keypress事件。

答案 2 :(得分:0)

我的回答有点晚了,但万一有人在这里偶然发现了这个问题。

对我来说,问题是通过将代码包装在文档就绪事件中解决的。 这可确保在附加事件时DOM中存在输入控件。

$(document).ready(function() {
  $('.commonclass').keypress(function(event){
    alert("keycode: " + event.keyCode);
    alert("id: " + this.id);
  });​
});