【问题标题】:javascript datepicker detect changed value in input fieldjavascript datepicker检测输入字段中的更改值
【发布时间】: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>

【问题讨论】:

标签: javascript 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());

  }
  });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-03
    • 2016-12-20
    • 2011-05-01
    • 2023-03-03
    • 2018-02-07
    • 2021-10-25
    • 1970-01-01
    • 2023-03-20
    相关资源
    最近更新 更多