jquery - 加载时自动将选定日期设置为 altField

标签 jquery jquery-ui jquery-ui-datepicker

我想在页面加载时设置日期选择器字段和altField的值,我想知道日期选择器中是否有一个选项可以自动执行此操作(即无需调用setDate)。

我知道如果我做这样的事情:

$("#date-div").datepicker({altField:"#date-input",altFormat:"yy-mm-dd", defaultDate:+7});

date-divdiv 时,加载页面时默认日期会自动添加到 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/

相关文章:

jQuery toggle() 在 Firefox 上工作正常,但在 Chrome 中出现奇怪的现象

javascript - 如何在 jquery UI datepicker 中创建日期范围,而无需在主 datepicker 函数内再次调用 datepicker?

Jquery DatePicker 条件样式

jquery - 克隆日期选择器对象 [JQuery]

php - 如何在公共(public) header 中使用类="active"?

javascript - IE11中好像有Ajax调用被缓存,如何强制每次调用?

javascript - 为什么网站在实际环境中会表现得很奇怪?

javascript - 具有嵌套项的父项也会触发子项

asp.net - jQuery UI 与 asp.net 母版页

jquery - 如何插入新元素,使其以正确的样式显示(使用 jQuery)