繁体   English   中英

jQuery.val() 仅在使用日期选择器的第二个事件上返回值

[英]jQuery.val() only returns value on second event with datepicker

我正在使用 jQuery UI 的日期选择器处理(遗留)项目。 我需要验证元素中输入的日期是否至少距当前日期 24 小时。 我在模糊上抓取 datepicker 元素的值来验证它。 问题是尝试获取应用了日期选择器的输入值的行为不一致。 .val() 仅返回第二个模糊事件的值,然后返回该事件之前的模糊事件的值。 使我抓狂。

标记:

<form action="" method="GET" novalidate="novalidate" class="form">
    <fieldset>
        <legend>Entry Date/Time</legend>

        <label for="ad" class="screen-reader-text">Entry Date</label>
        <span class="fa fa-calendar"></span>
        <input type="text" id="entry-date" name="ad" placeholder="March 4, 2019" autocomplete="off">
    </fieldset>

    <div class="submit-wrapper">
        <input type="submit" class="parking-submit" value="Submit">
    </div><!--ends submit-wrapper-->
</form>

JS:

  jQuery(document).ready(function($){
    $('.form input[type=text]').datepicker({
        minDate: -0,
        nextText: '>>',
        prevText: '<<',
        dateFormat: 'M dd, yy'
    });

  $('#entry-date').blur(function(){
       var now = new Date();
       console.log(now);
       var tomorrow = new Date(now.getTime() + 86400000); //1 day in ms
       console.log(tomorrow);
       var dateGiven = $('#entry-date').val();
       console.log('Set value is' + dateGiven);
  });
});

这是显示问题的笔

任何帮助表示赞赏。

而不是模糊,使用变化。

   $('#entry-date').change(function(){
       var now = new Date();
       console.log(now);
       var tomorrow = new Date(now.getTime() + 86400000); //1 day in ms
       console.log(tomorrow);
       var dateGiven = $('#entry-date').val();
       console.log('Set value is' + dateGiven);
  });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM