2014-02-20 93 views
0

我正在构建一个表单,我正在寻找添加一个jQuery函数 <input type="date">,不允许用户选择过去的日期。如果他们这样做会显示错误,并且表单不会生效。 如何在jQuery时间微调器上设置最小值和最大值?

UPDATE:禁用在过去的日期是固定的jQuery日期选择器

我也有一个关于 <input type="time">问题。我怎样才能让这个领域只显示11:30到22:00之间的时间?

所有剩下现在要弄清楚是如何设置分钟时间最大时间,例如分钟11:30和最大21:45,以及弄清楚如何在最后两个数字上得到15分钟递增。任何人都面临这一挑战? =)

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

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

+2

我想你可以更好的使用Jquery的dateTimePicker的是它涵盖的日期对象,它是跨浏览器。在IE或FF上,type =“date”不起作用http://jqueryui.com/datepicker/ – Rickert

+0

你可以像'[here]一样使用'min'的'input'(http://jsfiddle.net/3BQLL/1 /),你可以在这段时间做类似的事情。不过,我同意Rickdep,你应该使用jQuery的DateTimepicker。 – Wahtever

+0

@Rickdep谢谢,我设法解决它与jQuery Datepicker =) – iamchriswick

回答

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

+0

Thnx! :)任何想法如何设置最短时间和最长时间? – iamchriswick

+0

@Prodac我已经更新了最小和最大时间的小提琴。在选项对象中使用最小值和最大值。看到更新的答案。 – Akhlesh

相关问题