【发布时间】:2021-07-29 03:17:09
【问题描述】:
我有这个简单的日期选择器 jQuery,在我的应用程序中,我的用户可以回到过去,但不能回到未来。我想根据 url 浏览器中的日期参数显示当前日期。
我们说
var url_string = window.location.href;
var url = new URL(url_string);
var dateParam = url.searchParams.get("date"); <<----- current date
我有
$(".clock").click(function() {
$( "#expiryDate" ).datepicker('setDate', date); <<---- Note here
$("#expiryDate").datepicker({
dateFormat: 'yy-mm-dd',
defaultDate: date,
showAnim: "fold",
gotoCurrent: true,
maxDate: 0,
onSelect: function() {
var dateSelected = $(this).datepicker('getDate');
dateSelected = moment(dateSelected).format('YYYY-MM-DD');
// $( "#expiryDate" ).datepicker('setDate', dateSelected);
playSound('forward');
if(dateParam == null) {
var url = document.location.href+"&date="+dateSelected;
}else {
var url = document.location.href;
url = url.replace(dateParam,dateSelected);
}
document.location = url;
}
});
$('#expiryDate').datepicker('show');
});
即使今天是05/06/2021,用户也可以回到过去,看看那天发生了什么。所以当用户选择02/03/2021。我想强调那个日期02/03/2021。它似乎只有在我点击我的日期两次时才有效。
注意只有第二次点击3开始突出显示!
如何让它在第一次点击时突出显示?
【问题讨论】:
-
把这行
$( "#expiryDate" ).datepicker('setDate', date);放在$('#expiryDate').datepicker('show');之前 -
之前不是已经了吗? onClick后第一行就ok了
-
那一行应该在你初始化你的 datepicker 之后。
-
好的,让我试试,之后会分享结果。
-
您能加一个minimal reproducible example吗?我们几乎不可能调试代码。
标签: javascript jquery datepicker jquery-ui-datepicker