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

Javascript Jquery在具有相同id的多个输入中检测按键,javascript,jquery,html,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。这在某种程度上是可能的吗?对于h

我有一堆输入框,它们的id相同,但名称不同,如下所示:

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

理想情况下,我希望能够使用上述函数,然后根据输入框的名称执行一些操作,但多个输入框携带相同的id。这在某种程度上是可能的吗?

对于html元素,您应该具有唯一的id,您应该分配一个公共类并通过它进行访问

<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);
 });​

$('.commonclass')。按键(函数(事件){
警报(“keycode:+event.keycode”);
警报(“id:+this.id”);
});​

对于html元素,您应该具有唯一的id。您应该分配一个公共类并通过它进行访问

<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);
 });​

$('.commonclass')。按键(函数(事件){
警报(“keycode:+event.keycode”);
警报(“id:+this.id”);
});​

将类名应用于多个元素。然后将jquery与类一起使用来处理按键事件。

将类名应用于多个元素。然后将jquery与类一起使用来处理按键事件。

现在回答我的问题有点晚了,但以防其他人在这里偶然发现这个问题

对我来说,通过将代码包装到document ready事件中解决了这个问题。 这确保了事件附加时DOM中存在输入控件

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

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

对我来说,通过将代码包装到document ready事件中解决了这个问题。 这确保了事件附加时DOM中存在输入控件

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

这不起作用,它仍然不能从一个输入框中检测到按键,而更多的输入框具有相同的类:/it应该起作用。可能您的处理程序函数写得不正确(它需要使用
$(this)
来引用当前输入框)。这不起作用,它仍然无法从具有相同类的输入框中检测按键:/it应该起作用。可能您的处理程序函数写得不正确(它需要使用
$(this)
引用当前输入框)。请避免多个输入的id相同id id为标识符使其仅在页面中出现一次您可以使用类用于此目的我将id更改为类但仍不工作如果不必要,请更改文本框的id使其唯一可能重复请避免多个输入的id id为标识符使其唯一在你的页面中只出现一次你可以使用类来实现此目的我将id更改为类,但仍然不工作如果没有必要,则更改文本框的id使其唯一可能重复