我想在页面加载时设置datepicker字段和altField
的值,我想知道datepicker中是否有一个选项可以自动执行(即无需调用{{1 }})。
我知道如果我做这样的事情:
setDate
当$("#date-div").datepicker({altField:"#date-input",altFormat:"yy-mm-dd", defaultDate:+7});
为date-div
时,默认日期会在加载页面时自动添加到div
字段。
但是,如果我使用的是文本字段而不是date-input
,则它不会自动设置值(我必须在单独的行中调用div
)。
我只是对此感到好奇,我已经实现了它调用setDate,但我想知道是否有什么可以自动完成,如果不是为什么? (因为它在使用div显示日历时确实有效。)
答案 0 :(得分:0)
设置defaultDate
的最佳方法是使用类似Moment.js的库来解析altField
的值,因为解析日期的浏览器实现不可靠。例如,如果您的altField
是datepicker字段之前的字段,并且它是ISO 8601格式,则可以执行以下操作:
$(this).datepicker({
altField: $(this).prev(),
altFormat: $.datepicker.ISO_8601,
defaultDate: moment($(this).prev().val()).toDate()
});
这只会在打开日历时设置默认的选定日期。如果您还想填充datepicker字段,可以在使用上面的代码初始化datepicker后执行此操作:
$(this).datepicker("setDate", moment($(this).prev().val()).toDate());
答案 1 :(得分:-2)
不是100%优雅,因为它需要重复,但它适用于我:
$("#date-div").datepicker({altField:"#date-input",altFormat:"yy-mm-dd", defaultDate:$("#date-input").val()});