我有多个文本框,其中包含manual_input_1,manual_input_2,manual_input_3等ID。我希望在这些文本框中按下enter时停止提交表单。
下面的代码执行此操作,但现在我想知道文本框的整个id按Enter键,这样我就可以得到框的值。例如按下enter_input_2,输入值= 1234。
$('[id^="manual_input_"]').keydown(function(e) {
if(e.which == 13) {
e.preventDefault();
var id = ?; <--- id of textbox that pressed enter
var value = ?; <--- value of textbox that pressed enter
alert('Enter pressed for '+id+'\n'+
'Value = '+value;
)
return false;
}
});
可以这样做吗?例子非常有用。
由于
答案 0 :(得分:4)
您可以使用
获取“id”var id = this.id;
和
的值var value = this.value;
jQuery事件调度层确保在调用处理程序时this
引用受影响的元素。
答案 1 :(得分:1)
var id=$(this).attr('id');
var value=$(this).val();
答案 2 :(得分:0)
只需使用$(this)
:
$('[id^="manual_input_"]').keydown(function(e) {
if(e.which == 13) {
e.preventDefault();
var id = $(this).attr('id');
var value = $(this).val();
alert('Enter pressed for '+id+'\n'+
'Value = '+value;
)
return false;
}
});
答案 3 :(得分:0)
$('[id^="manual_input_"]').keydown(function(e) {
if(e.which == 13) {
e.preventDefault();
//var id = ?; <--- id of textbox that pressed enter
//var value = ?; <--- value of textbox that pressed enter
var id = $(this).attr("id");
var value = $(this).val();
alert('Enter pressed for '+id+'\n'+
'Value = '+value);
return false;
}
});