jQuery .val()在更改选择框时返回undefined

我有一个带有一些日期的选择框。 我希望在输入更改时获取所述日期的值。 我的价值一直不确定。

$('#date_pick').change(function(){ var values = $('#date_pick:selected').val(); alert(values); }); 

小提琴

你需要在#date_pick:selected之间加一个空格。

 var values = $('#date_pick :selected').val(); 

小提琴: http : //jsfiddle.net/PJT6r/9/

获取元素的值(就像所有其他表单元素一样)是使用val()函数完成的。

所以在你的情况下=> $('#date_pick').val()

请注意,在更改回调范围中, 您不需要重新选择元素 ,回调内部是触发回调的DOM元素:

 $('#date_pick').change(function() { alert($(this).val()); }); 

现场演示

你必须删除’选中’!

 var values = $('#date_pick').val(); 

这是一个咖啡因问题,我敢肯定。

或者只是var values = $(this).val();

您可以;

  var values = $('#date_pick option:selected').val(); 

您不需要选择器中的:selected位使用:

 $(function(){ $('#date_pick').change(function(){ var values = $('#date_pick').val(); alert(values); }); });