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