this.val()不适用于文本框,但是$('.selector').val()工作

Spa*_*rky 4 jquery

在我的代码中,$("#date")是一个附加了jquery datepicker的文本字段.在下面的代码中,当我选择日期时,firebug会显示此错误this.val is not a function

$("#date").change(function(){  
    var mydate = this.val();
    alert(mydate);
});
Run Code Online (Sandbox Code Playgroud)

但是当我改变this.val()$("#date").val(),它可以完美地工作并提醒所选日期.任何人都可以指出为什么this.val()不工作?

编辑
对不起,$这是一个错字.我实际上使用this.val(),而不是$ this.val()

Laz*_*rus 10

this在你的事件中,函数不是一个jquery对象,它是一个dom对象.解决它$(this),它应该适合你.

$("#date").change(function(){  
    var mydate = $(this).val();
    alert(mydate);
});
Run Code Online (Sandbox Code Playgroud)