javascript datepicker检测输入字段中的更改值

Posted

技术标签:

【中文标题】javascript datepicker检测输入字段中的更改值【英文标题】:javascript datepicker detect changed value in input field 【发布时间】:2016-08-10 04:10:42 【问题描述】:

我有一个基于 mootools 的简单日期选择器 (http://www.monkeyphysics.com/mootools/script/2/datepicker) 这不是 jQuery 日期选择器,它的事件触发器不起作用。

一旦选择了日期,我需要计算天数和其他事情,计算工作正常,我需要在用户决定更改日期后触发它,我已经尝试了所有我能找到的事件处理程序,如果你能,它们都可以工作按回车键或单击另一个字段,但应在单击(选择)日期后立即重新计算。

<input type="text" name="arrival" value="2016-10-05" title="" class="fromdate">
<input type="text" name="departure" value="2016-10-08" title="" class="todate">
<input type="text" name="addnight" value="" title="" class="calculated">

<script type="text/javascript">
  $("select, input, .datepicker_dashboard").on("change paste keyup blur click mouseup hover focus focusout", function() 

   var calculus = daydiff(parseDate($('.fromdate').val()), parseDate($('.todate').val()));
if (calculus<0) var calculus=0;
$(".calculated").val(calculus);


</script>

【问题讨论】:

也许你正在寻找下面的链接JQuery Datepicker onchange event help! 这个工作如我所愿,但我的不是 JQuery Datepicker 【参考方案1】:

阅读文档(由您自己链接)告诉我,您可以在使用 new DatePicker(input-target-selector [, options-object]); 创建日期选择器时在选项中设置 onSelect 处理程序

onSelect 选择日期时触发事件挂钩。 (v1.16+: 自带 1 参数,一个标准的 javascript Date 对象,代表选定的 日期)

【讨论】:

是的,我已经看到了,但仍然没有成功 你能展示一个 jsFiddle 或 plunker 来重现问题吗? 我试图复制它,但没有成功,我已经设法用每秒计算天数的计时器脚本解决了这个问题【参考方案2】:

试试这个。我从下面列出的链接中得到了答案 Trigger function when date is selected with jQuery UI datepicker

  $("#dt").datepicker(
  onSelect: function(dateText, inst) 
    var date = $(this).val();
    var time = $('#time').val();
    alert('on select triggered');
    $("#start").val(date + time.toString('              HH:mm').toString());

  
  );

【讨论】:

以上是关于javascript datepicker检测输入字段中的更改值的主要内容,如果未能解决你的问题,请参考以下文章

bootstrap-datepicker 手动输入日期问题

jQuery DatePicker阻止手动输入并在验证时需要

如何使用 SwiftUI 和 Combine 检测 Datepicker 的值变化?

通过javascript或jquery从输入框中获取包含月-日期格式的值

在 jquery 中使用 .change() 和 datepicker 提交表单

javascript [js - datepicker] jquery datepicker #js