如何在没有id的情况下获取输入值

时间:2016-10-21 18:35:46

标签: javascript jquery

我想要做的就是当用户输入我的应用程序时显示在该输入中键入的值的消息,我将有很多输入,因此通过选择输入ID不是一个选项,那我怎么解决这个问题呢?我要做的就是选择$(this).value,但我只能得到"未完成",这里是我尝试做的示例代码



var timer = null;
$(document).ready(function () {
  $('input').keydown(function (event) {
        clearTimeout(timer);
        timer = setTimeout(validarType, 1000)
    });


});
function validarType() {
    var xd = $(this).value;
    alert(xd);
}  

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="text"/>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:4)

您的代码无法正常工作

this与调用处理程序时的this不同 - 因为您是在超时内调用此函数。

$(this)是一个jQuery对象 - 没有value属性

正确的代码:

var timer = null;
$(document).ready(function () {
    $('input').keydown(function (event) {
        clearTimeout(timer);
        timer = setTimeout(validarType.bind(this), 1000) //bind the existing context
    });
});
function validarType() {
    var xd = this.value; //this is now a regular DOM element - and has a value attribute
    alert(xd);
}