defaultDate选项与setDate方法之间的差异

时间:2014-09-01 09:23:35

标签: javascript jquery jquery-ui jquery-ui-datepicker

我正试着用jQueryUI DatePicker来解决问题。我必须理解的主要内容之一是可以在页面加载时设置日期。

在做了一些研究之后,我发现了两种不同的方法:

  1. 使用defaultDate选项
  2. 使用setDate方法
  3. 到目前为止我发现的主要区别是defaultDate选项只设置datePicker日历本身的值。

    setDate方法设置input type textsetDate中的日期。在datePicker日历中。

    有趣的是,当使用defaultDate方法&同时使用setDate选项,使用defaultDate方法设置的日期会覆盖使用defaultDate选项设置的日期值。

    请参阅http://jsfiddle.net/vb7mu3sf/

    我注意到的另外两个不同之处:

    • 都接受日期作为日期类型作为参数(非常简洁),但setDate选项接受其他类型(数字和字符串)。
    • {{1}}方法当然可以在datePicker
    • 上随时调用

    还有什么我错过了他们的差异吗?

    资源:

1 个答案:

答案 0 :(得分:1)

查看文档:

  

defaultDate
  如果该字段为空,请在第一次打开时设置要突出显示的日期。

     

setDate
  设置datepicker的日期。

没有太多要解释的了。如上所述:

  • 设置defaultDate属性:
    • 设置日历打开且字段为空白时聚焦的日期。
    • 不更新字段。
    • 用户必须点击输入或点击日期才能更新该字段。
  • 调用setDate方法:
    • 更新字段。
    • 当字段不为空时打开日历会导致该日期聚焦已选择

一种技术或另一种技术的可能用途:

  • 如果日期是必填字段 - 并且 - 有一个默认值,则使用setDate方法。如果用户对预先输入的日期没有问题,则可以节省两次点击。
  • 否则,使用defaultDate指定用户选择激活日期选择器时所关注的日期。

注意:

  

...但defaultDate选项接受其他类型(Number& String)。

实际上,setDate接受defaultDate所做的所有日期版本。

  

setDate方法当然可以在datePicker

上随时调用

嗯,defaultDate选项也可以随时设置。例如,如果有两个日历,例如签入和签出并且用户选择了2014年11月10日的签到日期,那么您希望将其他日历上的defaultDate设置为2014年11月11日。