我有一个输入元素,其中包含使用bootstrap-datepicker创建的附加日期选择器 .
<div class="well">
<div class="input-append date" id="dp3" data-date="2012-01-02" data-date-format="yyyy-mm-dd">
<input type="text" id="date-daily">
<span class="add-on"><i class="icon-th"></i></span>
</div>
</div>
<script language="JavaScript" type="text/javascript">
$(document).ready(function() {
$('#dp3').datepicker();
$('#date-daily').val('0000-00-00');
$('#date-daily').change(function () {
console.log($('#date-daily').val());
});
});
</script>
当用户通过直接输入input元素来更改日期时,我可以使用input元素的onChange事件获取值,如上所示 . 但是当用户从datepicker更改日期时(即通过单击日历上的日期),不会调用onChange处理程序 .
如何检测通过日期选择器创建的所选日期的更改,而不是通过键入输入元素?
6 回答
试试这个:
您可以使用
onSelect
事件SEE HERE
所有其他答案都与
jQuery UI datepicker
有关,但问题是关于bootstrap-datepicker
.您可以使用on changeDate事件触发相关输入上的更改事件,然后处理从
onChange
处理程序更改日期的两种方法:例:
这是一个工作小提琴:http://jsfiddle.net/IrvinDominin/frjhgpn8/
这是我的代码:
只需取消注释您喜欢的那个 . 第一个选项更改其他输入元素的值 . 第二个用datepicker默认格式警告日期 . 第三个用您自己的自定义格式警告日期 . 最后一个选项输出到日志(默认格式日期) .
您可以选择使用e.date,e.dates(用于多个日期输入)或e.format(...) .
这里some more info