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