html - 带有 Today 和 DateFormat 的 DatePicker

标签 html jquery-ui input datepicker buttonclick

我一直在尝试为 datepicker 创建一个 jQuery UI 函数,在阅读了所有论坛和片段之后,我意识到绝大多数答案已被弃用和/或从 jQuery 1.9.1 中删除。

很简单,我需要jquery datepicker

显示带有按钮选项的日期选择器,并且能够单击今天,这将自动将日期输入到我的输入字段中。对于我的生活,我无法弄清楚这一点,并想把它扔给更了解 jQuery/jQuery-UI 的人。

试过类似的东西:

$(function() {
    $( "#date" ).datepicker(("setDate", new Date()){
        showButtonPanel: true,
        dateFormat: 'm-d-yy'
    });
  });

当然还有 html

  <input name="date" id="date" />

输入的值应为标准美国日期格式:即 5/1/2013 或 12/31/2099。

截至目前,代码并没有选择当前日期,显然点击今天只会选择今天的日期。我需要它来自动填充输入字段。提前感谢您的帮助!

最佳答案

我认为问题在于我们大多数人(我也是)误解了“今天”按钮的功能。 事实上,它只是一个突出显示当前日期而不是选择它的按钮。

如果您确实想要用户点击今天并且日期选择器选择当前日期的行为,我建议您查看 jsfiddle我创造的。

由于这不是我的工作,我只是做了一些研究(目前也在使用 datepicker),请引用 this与 jQuery 1.9.1 和 jQuery UI 1.9.2 完美搭配的解决方案。

这是解决您问题的代码

$.datepicker._gotoToday = function (id) {
    var target = $(id);
    var inst = this._getInst(target[0]);
    if (this._get(inst, 'gotoCurrent') && inst.currentDay) {
        inst.selectedDay = inst.currentDay;
        inst.drawMonth = inst.selectedMonth = inst.currentMonth;
        inst.drawYear = inst.selectedYear = inst.currentYear;
    } else {
        var date = new Date();
        inst.selectedDay = date.getDate();
        inst.drawMonth = inst.selectedMonth = date.getMonth();
        inst.drawYear = inst.selectedYear = date.getFullYear();
        // the below two lines are new
        this._setDateDatepicker(target, date);
        this._selectDate(id, this._getDateDatepicker(target));
    }
    this._notifyChange(inst);
    this._adjustDate(target);
}

希望对你有帮助:)

编辑

要使用当前日期预填充您的输入字段,您需要使用 setDate方法。 更新 fiddle

$('#datepicker').datepicker('setDate', new Date());

关于html - 带有 Today 和 DateFormat 的 DatePicker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16350976/

相关文章:

c# - 如果日期大于 MM/10/YYYY,则日期选择器日期返回 Null

javascript - 如何在使用Dragtable UI时将列动态添加到表中?

javascript - 如何将值从输入复制到另一个选择器

JQuery html字符串输入框

javascript - 简单的背景更改不起作用

javascript - 如何修复此导航菜单汉堡按钮?

css - &lt;!DOCTYPE html> 打破布局

html - 为什么iOS Safari用户代理样式表看起来会覆盖我的边框样式?

jquery - jQuery的对话框第一次出现奇怪的行为

input - Scanf_s 警告?跳过用户输入(主题 : Runge-Kutta, 流行病模拟)