我在输入字段下面显示了一个全功能的jQuery日期选择器。
我正在使用以下设置引用该字段:
altField: "#id_of_field",
没有其他设置。 Datepicker已加载文档就绪。
我的问题是今天的日期是在页面加载时自动设置(在输入字段中),忽略字段的状态 - 无论它是否已经从服务器发送了值还是尚未设置。
在用户点击任何日期之前,如何阻止datepicker在输入字段中设置值(通过它自己)?
答案 0 :(得分:2)
使用setDate
方法,您可以通过以下方式清除输入字段状态:
$("#myDate").datepicker();
$("#myDate").datepicker('setDate', null);
答案 1 :(得分:2)
为什么在创建datepicker时不使用defaultDate选项?这是自己设置默认值的正确方法
http://api.jqueryui.com/datepicker/#option-defaultDate
var myDefaultDate = new Date("October 1, 1975 11:13:00"); // save your default date here
$('#datepicker').datepicker({
altField: "#event_begin_day",
defaultDate: myDefaultDate
});
答案 2 :(得分:1)
我曾希望datepicker提供一个设置来关闭自动设置日期,但显然没有。
这是一个有效的解决方案,其他答案也是如此。
我在启动datepicker之前将字段的值存储在变量中,然后将datepicker的value选择替换为变量。
var begin_day_value = $('#event_begin_day').attr('value');
$('#datepicker').datepicker({
altField: "#event_begin_day"
}).datepicker('setDate', begin_day_value);
答案 3 :(得分:0)
Datapicker为选定的和当前日期分配不同的类。您可以从当前日期单元格中删除该类,也可以覆盖它:
当前日期 - ui-state-highlight
选择日期 - ui-state-active
所以,例如:
$("#your_element").datepicker();
$(".ui-datepicker .ui-state-hihglight").removeClass("ui-state-highlight");