所以我有一堆输入框具有相同的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。这有可能吗?
答案 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);
});
});