Jquery获取已按下输入的文本框的ID?

时间:2011-04-11 15:26:20

标签: jquery

我有多个文本框,其中包含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;
    }
});

可以这样做吗?例子非常有用。

由于

4 个答案:

答案 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;
}
});