如何在jQuery时间微调器上设置最小值和最大值?

时间:2014-02-20 13:34:32

标签: jquery forms

我正在构建一个表单,我希望向<input type="date">添加一个jQuery函数,该函数不允许用户选择过去的日期。如果他们这样做,将显示错误,表单不会验证。

更新:使用jQuery Datepicker 修复过去的停用日期

我还有一个关于<input type="time">的问题。如何让这个字段只显示11:30到22:00之间的时间?

现在剩下要弄清楚的是如何设置最短时间最长时间,例如分钟11:30和最长21:45,以及如何在最后两个数字上获得 15分钟增量。任何人都应对这一挑战? =)

我对jQuery相当新手,所以非常感谢任何帮助。

请在此JSFiddle中找到更新的代码示例。

1 个答案:

答案 0 :(得分:2)

要在最后两个数字上增加15分钟,请将步长值设为60 * 15000 例如。

$.widget("ui.timespinner", $.ui.spinner, {
    options: {
        // seconds
        step: 60 * 15000,
        // hours
        page: 60,
        max: "9:45 PM",
        min: "11:30 AM"
    },

    _parse: function (value) {
        if (typeof value === "string") {
            // already a timestamp
            if (Number(value) == value) {
                return Number(value);
            }
            return +Globalize.parseDate(value);
        }
        return value;
    },

    _format: function (value) {
        return Globalize.format(new Date(value), "t");
    }
});

这里是Fiddle