2015-05-08 458 views
20

我目前正在创建日期选择器,像这样在jQuery datepicker上监听onChange?

HTML

<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script> 
<input id="datepicker" type="datepicker" name="date" placeholder="Date" /> 

JS

$('#datepicker').datepicker() 
    .on("change", function (e) { 
    console.log("Date changed: ", e.target.value); 
}); 

我的目标是能听,当用户清除了日期框。但是,只有在您将日期框忽略后,更改事件才会启动。我想知道是否有方法来监听jQuery日期框中的所有更改,或者有更好的选择。

的jsfiddle链路: https://jsfiddle.net/szkfm0y7/

+3

该类型不是有效类型。您可能需要将其更改为文本,然后查看是否适合您。 –

+1

请阅读输入的类型'日期'http://www.w3.org/TR/html-markup/input.date.html – odedta

+0

大声笑谢谢,类型日期是非常有帮助 –

回答

28

input上使用jquery以及change事件

$('#datepicker').datepicker() 
    .on("input change", function (e) { 
    console.log("Date changed: ", e.target.value); 
}); 

Fiddle

+0

谢谢,这解决了这个问题! –

+1

@JohnPizzo肯定没有问题!快乐编码:) –

5

这里是一个可能的解决方案:https://jsfiddle.net/7atsua85/

相反e.target.value的,使用$(本).VAL()如下所示,

$('#datepicker').datepicker() 
    .on("change", function (e) { 
    //console.log("Date changed: ", e.target.value); 
    alert($(this).val()) 
});