【问题标题】:Differences between defaultDate option vs setDate methoddefaultDate 选项与 setDate 方法之间的差异
【发布时间】:2014-10-25 11:51:58
【问题描述】:
我正在尝试使用jQueryUI DatePicker。我必须了解的主要内容之一是在页面加载时设置日期的方式。
在做了一些研究后,我发现了两种不同的方法:
- 使用
defaultDate 选项
- 使用
setDate方法
到目前为止,我发现的主要区别是 defaultDate 选项仅在 datePicker 日历本身中设置值。
而 setDate 方法在 input type text 和 datePicker 日历本身中设置日期。
有趣的是,当同时使用setDate 方法和defaultDate 选项时,使用setDate 方法设置的日期会覆盖使用defaultDate 选项设置的日期值。
见http://jsfiddle.net/vb7mu3sf/
我注意到的另外几个不同之处:
- 两者都接受日期作为日期类型作为参数(这非常简洁),但
defaultDate 选项接受其他类型(数字和字符串)。
-
setDate 方法当然可以随时在 datePicker 上调用
关于他们的差异,我还有什么遗漏的吗?
资源:
【问题讨论】:
标签:
javascript
jquery
jquery-ui
jquery-ui-datepicker
【解决方案1】:
查看文档:
defaultDate
如果该字段为空白,则设置在首次打开时突出显示的日期。
setDate
设置日期选择器的日期。
没有太多要解释的了。如上所述:
- 设置
defaultDate 属性:
- 当日历打开且字段为空白时,设置聚焦的日期。
- 不更新字段。
- 用户必须按回车键或单击日期才能更新字段。
- 调用
setDate方法:
- 更新字段。
- 当字段不为空时打开日历会导致该日期聚焦并选择。
一种或另一种技术的可能用途:
- 如果日期是必填字段 - 并且 - 有默认值,则使用
setDate 方法。如果用户对预先输入的日期没有问题,这将节省两次点击。
- 否则,如果用户选择激活日期选择器,请使用
defaultDate 指定关注的日期。
注意事项:
...但 defaultDate 选项接受其他类型(数字和字符串)。
实际上,setDate 接受 defaultDate 接受的所有日期版本。
setDate 方法当然可以随时在 datePicker 上调用
好吧,defaultDate 选项也可以随时设置。例如,如果有两个日历,例如签入和签出,并且用户选择了签入日期 2014 年 11 月 10 日,那么您可能希望将另一个日历上的 defaultDate 设置为 2014 年 11 月 11 日。