我正在尝试使用 jQueryUI DatePicker
。我必须了解的主要内容之一是在页面加载时设置日期的方式。
经过一些研究,我发现了两种不同的方法:
- 使用
defaultDate
选项 - 使用
setDate
方法
到目前为止我发现的主要区别是 defaultDate
选项仅在 datePicker 日历本身中设置值。
而 setDate
方法在 input type text
和 datePicker 日历本身中设置日期。
一件有趣的事情是,当同时使用setDate
方法和defaultDate
选项时,使用setDate
方法设置的日期会覆盖日期的值使用 defaultDate
选项设置。
参见 http://jsfiddle.net/vb7mu3sf/
我注意到的另外几个不同之处:
- 两者都接受日期作为 Date 类型作为参数(这非常简洁)但是
defaultDate
选项接受其他类型(数字和字符串)。 setDate
方法当然可以在 datePicker 上随时调用
关于它们的差异,我还遗漏了什么吗?
资源:
最佳答案
查看文档:
defaultDate
Set the date to highlight on first opening if the field is blank.setDate
Sets the date for the datepicker.
没有太多要解释的了。如上所述:
- 设置
defaultDate
属性:- 设置当日历打开且字段为空白时聚焦的日期。
- 不更新字段。
- 用户必须按回车键或点击日期才能更新该字段。
- 调用
setDate
方法:- 更新字段。
- 在字段不为空时打开日历会导致该日期聚焦并选中。
一种技术或另一种技术的可能用途:
- 如果日期是必填字段 - 并且 - 有默认值,则使用
setDate
方法。如果用户对预先输入的日期没有问题,这将节省两次点击。 - 否则,如果用户选择激活日期选择器,则使用
defaultDate
指定焦点日期。
注意事项:
... but defaultDate option accepts additional types (Number & String).
实际上,setDate
接受 defaultDate
接受的所有日期版本。
setDate
method can of course be called at anytime on the datePicker
defaultDate
选项也可以随时设置。例如,如果有两个日历,例如 checkin 和 checkout 并且用户选择 checkin 日期为 2014 年 11 月 10 日,那么您需要将另一个日历上的 defaultDate
设置为 2014 年 11 月 11 日。
关于javascript - defaultDate 选项与 setDate 方法之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25602649/