【问题标题】:JQuery Datepicker along with dateformatJQuery Datepicker 和 dateformat
【发布时间】:2013-01-30 05:20:31
【问题描述】:

我在 Jquery DatePicker 有点新。我想要做的是允许用户根据设置的 toDate 日期选择器最小和最大日期来选择一个 fromDate。但我需要使用 dd/mm/yy 格式。但是当我使用它时,onchange 中的功能消失了。任何人都可以帮助我吗? 以下工作完美,但无法以 dd/mm/yy 格式实现日期选择器

 $("#Date_FromDate").datepicker({                
            defaultDate: "+1w",
            changeMonth: true,
            numberOfMonths: 1,
            minDate: firstDate,
            maxDate: lastDate,
            onClose: function (selectedDate) {
                $("#Date_ToDate").datepicker("option", "minDate", selectedDate);
                var choosenDate = new Date(selectedDate);
                var choosenDateQuarter = Math.floor((choosenDate.getMonth() / 3));
                var choosenDateQuarterStartDate = new Date(choosenDate.getFullYear(), choosenDateQuarter * 3, 1);
                var choosenDateQuarterEndDate = new Date(choosenDateQuarterStartDate.getFullYear(), choosenDateQuarterStartDate.getMonth() + 3, 0);
                lastDate = choosenDateQuarterEndDate;
                $("#Date_ToDate").datepicker("option", "maxDate", choosenDateQuarterEndDate);
            }
            
        });
        $("#Date_ToDate").datepicker({               
            defaultDate: "+1w",
            changeMonth: true,
            numberOfMonths: 1,
            minDate: firstDate,
            maxDate: lastDate,
            onClose: function (selectedDate) {
                $("#Date_FromDate").datepicker("option", "maxDate", selectedDate);
            }

【问题讨论】:

  • 将 dateFormat 放入两个日期选择器选项中。

标签: jquery datepicker


【解决方案1】:

尝试:

$("#Date_ToDate").datepicker("option", "dateFormat", "dd/mm/yy");

或者

$("#Date_ToDate").datepicker({ dateFormat: "dd/mm/yy" });

【讨论】:

  • 之前我在 datepicker 内部使用过,即 $("#Date_FromDate").datepicker({ dateFormat: "dd/mm/yy", defaultDate: "+1w", ...等但这带走了 onchange 的全部功能
  • 是的!有两个实现 datepickers 的文本框 1. FromDate 当我选择一个值时,Todate datepicker 中的值根据计算设置最大值和 Mindate
【解决方案2】:

dateFormat 作为参数传递。

使用您需要的格式而不是 null。有关日期格式的更多信息是here.

所以你的代码改变了

 $("#Date_ToDate").datepicker({
            defaultDate: "+1w",
            changeMonth: true,
            numberOfMonths: 1,
            minDate: firstDate,
            maxDate: lastDate,
            onClose: function (selectedDate) {
                $("#Date_FromDate").datepicker("option", "maxDate", selectedDate);
            }

 $("#Date_ToDate").datepicker({
            defaultDate: "+1w",
            changeMonth: true,
            dateFormat:"dd/mm/yy",
            numberOfMonths: 1,
            minDate: firstDate,
            maxDate: lastDate,
            onClose: function (selectedDate) {
                $("#Date_FromDate").datepicker("option", "maxDate", selectedDate);
            }

您必须先解析您的firstDatelastDate,然后再将其分配给最小值和最大值,如下所示:

  var minDate= $.datepicker.parseDate('dd/mm/yy', firstDate);
  var maxDate= $.datepicker.parseDate('dd/mm/yy', lastDate);

【讨论】:

  • 你的意思是像那样传递 dateFormat:'dd/mm/yy' 吗?
  • 好吧无论如何它都不起作用:(这与版本效果有什么关系吗??
  • @ArchieDave 与版本无关
  • @ArchieDave 我在回答中错过了逗号,你在 dateFormat 之后添加了 tat
  • 是的,我试过那个....选项当我添加 dateformat 时,正如你上面提到的那样,我在 onClose 中提到的任何代码都将变为无效,如果我在新 Date() 的 onclose 事件中明确指定它日期格式为 dd/mm/yy???
【解决方案3】:

user1386320Bhushan 都是对的。

不要让您感到困惑,请在代码上方编写给定代码,然后格式化您在变量 firstdate 和 lastdate 中获得的值,如果它们已经在 dd/mm/yy 中,则无需格式化。

$("#Date_FromDate").datepicker("option", "dateFormat", "dd/mm/yy");
$("#Date_ToDate").datepicker("option", "dateFormat", "dd/mm/yy");

【讨论】:

    猜你喜欢
    • 2010-10-18
    • 1970-01-01
    • 1970-01-01
    • 2011-08-02
    • 1970-01-01
    • 2015-01-04
    • 1970-01-01
    • 2010-11-02
    • 2013-04-27
    相关资源
    最近更新 更多