我正在尝试配置minDate
日期选择器中的#start_date's
,而不覆盖输入值本身。例如,#start_date
已经具有01.06.2018
的值,并且当某人选择将字段设置为
等于或高于今天。问题是,当我使用下面的代码时,该字段中的输入会自动更改为今天。我希望该字段保持不变,直到我选择一个日期选择器被限制为等于或大于今天的新日期为止。
minDate
我也尝试过:
$("#start_date").datepicker("option",{
minDate: new Date()
});
并销毁并重新创建日期选择器。
我想出了这个解决方案,但我不愿使用它,因为它并不美观:
$("#start_date").datepicker({ minDate: 0});
我正在使用jQuery-ui-1.10.3。
答案 0 :(得分:0)
如果我正确地理解了您,除非您单击任何日期,否则不要在打开日期选择器时更改输入字段中的日期。
如果是正确的话,除了将span
或div
等输入以外,还有一种方法将日期选择器绑定到其他元素,然后使其初始隐藏并通过绑定{{1 }}事件用于输入,甚至使用click
来打开日期选择器的图标,重要的是,您必须使用datepicker的$(element).toggle()
事件将值手动分配给输入字段案件。
查看下面我创建的一个演示,您甚至可以单击图标或输入字段来打开日期选择器,但是直到您单击任何日期,它都不会更改输入字段内的日期。默认情况下,我在输入字段中添加了一个较旧的日期,以便您可以单击它,并看到它保持不变,直到您进行更改
onSelect
$("#span-trigger").datepicker({
minDate: new Date(),
onSelect: function(date) {
$("#date-field").val(date);
}
}).hide();
$(".fa-calendar,#date-field").on("click", function() {
$("#span-trigger").toggle();
});
#span-trigger {
position: absolute;
}