我正在使用jQuery UI的datepicker处理(旧)项目。我需要确认在元素中输入的日期距离当前日期至少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);
});
});
a pen在显示问题。
感谢您的帮助。
答案 0 :(得分:1)
使用模糊代替模糊。
$('#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);
});