如何在datepicker jquery中选择日期

时间:2012-02-02 21:30:24

标签: jquery datepicker

我以这种方式使用datePicker

$("#dataStart").datepicker({
beforeShow: function () { $('#ui-datepicker-div').css('z-index',9999); },
dateFormat: 'mm/dd/yy'});
$("#dataEnd").datepicker({
beforeShow: function () { $('#ui-datepicker-div').css('z-index',9999); },
dateFormat: 'mm/dd/yy'});

我想强制选择一个日期,而不是过去,是否有可能这样做? 如果是这样,可以以动态方式更改第二个日期选择器,因此如果用户选择日期,则在第二个字段中他必须选择第一个选定的旁边的日期。 我希望我也问我的问题:) 谢谢大家!

6 个答案:

答案 0 :(得分:12)

minDate:1应该只允许明天和之后的日期。然后添加onselect以限制dataEnd

$("#dataStart").datepicker({
    minDate: 1,
    onSelect: function(theDate) {
        $("#dataEnd").datepicker('option', 'minDate', new Date(theDate));
    },
    beforeShow: function() {
        $('#ui-datepicker-div').css('z-index', 9999);
    },
    dateFormat: 'mm/dd/yy'
});

参考:http://blog.alagad.com/2009/04/20/playing-with-jquery-datepicker/

示例:http://jsfiddle.net/jtbowden/F39kt/

答案 1 :(得分:2)

如果您在datepicker的beforeShowDay事件中返回[false],则会禁用该日期。您可以比较日期和当前日期,并相应地返回[true / false]。

试试这个。

$("#dataStart").datepicker({
     beforeShow: function () { 
         $('#ui-datepicker-div').css('z-index',9999); 
     },
     dateFormat: 'mm/dd/yy',
});
$("#dataEnd").datepicker({
     beforeShow: function () { 
         $('#ui-datepicker-div').css('z-index',9999); 
     },
     dateFormat: 'mm/dd/yy',
     beforeShowDay: function(date){
          return [(date > ($("#dataStart").datepicker("getDate") 
                          || new Date()))];
     }
});

<强> Demo

答案 2 :(得分:0)

var myDate = new Date();
myDate.setDate(myDate.getDate()+10);
var prettyDate =(myDate.getMonth()+1) + '/' + myDate.getDate() + '/' + myDate.getFullYear();

$("#thedate").datepicker({dateFormat: 'mm/dd/yy',altFormat: 'yyyymmdd'});
$("#thedate").val(prettyDate);

我就是这样做的。 'thedate'是我的日期选择器。我把这个日期碰到今天+ 10天。

答案 3 :(得分:0)

试试这个......

var dates=$("#from, #to").datepicker({
     changeMonth:true, onSelect: function( selectedDate ) {
         var option = this.id == "from" ? "minDate" : "maxDate",
         instance = $( this ).data( "datepicker" ),
         date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings );
         dates.not( this ).datepicker( "option", option, date );
     }
 });

答案 4 :(得分:0)

http://jqueryui.com/demos/datepicker/

查看minDate选项。您可以使用option方法动态设置它。

答案 5 :(得分:0)

这是一个旧线程,但它有点不明确。可能是因为jQuery UI Widget本身发生了变化,但是对于任何绊脚石的人来说都是如此:

要将datepickers范围限制为仅将来的日期 - 将minDate参数设置为0.

要限制过去的日期,您只需将maxDate参数设置为0。

这很好,因为它避免了必须按照此线程中其他地方的建议调用new Date()函数。

示例:

$('.your_datepicker').datepicker({
    minDate: 0
});
相关问题