【问题标题】:Set today's date and hide future dates using JQuery使用 JQuery 设置今天的日期并隐藏未来的日期
【发布时间】:2017-01-04 21:43:34
【问题描述】:

我是 JQuery 的新手。我正在尝试使用 datepicker 设置今天的日期,并试图隐藏未来的日期。但是不知道怎么办?

$("#datepickerto").datepicker("setDate", new Date()); $("#datepickerto").datepicker({maxDate: new Date()});

我尝试了上述方法,但它不起作用。它们中的任何一个都可以正常工作,但是如何同时使两者都工作?

【问题讨论】:

  • 这对我有用 $("#datepickerfrom").datepicker(); var d = 新日期(); var currDay = d.getDate(); var currMonth = d.getMonth() + 1; var currYear = d.getFullYear(); $("#datepickerto").datepicker({ maxDate: new Date() }).val(currMonth + "/" + currDay + "/" + currYear); var dateObject = $("#datepickerto").datepicker("getDate"); var dateString = $.datepicker.formatDate("mm/dd/yy", dateObject); $("#datepickerto").val(dateString);

标签: jquery date datepicker


【解决方案1】:

datepicker("setDate" ...) 正在调用一个方法,这意味着必须事先初始化日期选择器才能使其工作。

另一方面,

datepicker({maxDate: ...}) 正在初始化日期选择器,并且必须在使用任何方法之前发生。

您必须删除之前对日期选择器的任何初始化,然后可以将两个函数(使用 maxDate 的初始化和 setDate 方法)合并到一行,如下所示:

$("#datepickerto").datepicker({maxDate: '0'}).datepicker("setDate", new Date());

【讨论】:

  • 我忘了附上完整的代码。我首先初始化了日期选择器并尝试设置日期。根据您的代码,它不是隐藏未来的日期,而是设置今天的日期。
  • 查看我的编辑。我修改了maxDate 部分,根据研究,您似乎可以使用'0' 来表示“未来0 天”的MaxDate。此外,我相信您应该在初始化日期选择器时包含maxdate 选项,而不是之后。 setDate 必须在之后发生。
  • 这对我有用 '$("#datepickerfrom").datepicker(); var d = 新日期(); var currDay = d.getDate(); var currMonth = d.getMonth() + 1; var currYear = d.getFullYear(); $("#datepickerto").datepicker({ maxDate: new Date() }).val(currMonth + "/" + currDay + "/" + currYear); var dateObject = $("#datepickerto").datepicker("getDate"); var dateString = $.datepicker.formatDate("mm/dd/yy", dateObject); $("#datepickerto").val(dateString);'
猜你喜欢
  • 2017-05-02
  • 1970-01-01
  • 1970-01-01
  • 2013-11-26
  • 2013-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-16
相关资源
最近更新 更多