jQuery数据采集器限制从到
当选择从日期开始的<代码>时,我希望到日期为止的<代码>有可能3-7天。因此,从开始到结束的时间应为jQuery数据采集器限制从到,jquery,datapicker,Jquery,Datapicker,当选择从日期开始的时,我希望到日期为止的有可能3-7天。因此,从开始到结束的时间应为最短3天和最长7天。我该怎么做 $(function() { $.datepicker.setDefaults({minDate: 0, changeMonth: true, numberOfMonths: 1}); $('#datepicker').datepicker({onSelect: function(selectedDate) { $('#datepicker').datep
最短3天
和最长7天
。我该怎么做
$(function() {
$.datepicker.setDefaults({minDate: 0, changeMonth: true, numberOfMonths: 1});
$('#datepicker').datepicker({onSelect: function(selectedDate) {
$('#datepicker').datepicker('option', 'minDate', selectedDate);
setTimeout(function() { $('#datepicker1').focus(); }, 0);
}});
$('#datepicker1').datepicker({onSelect: function(selectedDate) {
$('#datepicker1').datepicker('option', 'maxDate', selectedDate);
}});
});
从开始到结束的时间应至少为3天,最多为7天
当在第一个日期选择器中选择日期时,需要设置另一个日期选择器的minDate
和maxDate
。正如您正确地指出的,这需要在onSelect
事件处理程序中完成
但是,请注意,传递给onSelect的参数是string。因此,如果您只使用getDate
提取日期,并使用它定义3到7天的范围,那么会更好、更容易
以下是一个例子:
$("#fromDate").datepicker({
dateFormat: "yy-mm-dd",
onSelect: function() {
// define a range object
var dateRange = {min:null, max:null},
// get the selected date from the first datepicker
selectedDate = $('#fromDate').datepicker('getDate');
dateRange.min = selectedDate.getDate() + 3; // add 3 days for min
dateRange.max = selectedDate.getDate() + 7; // add 7 days for max
// assign min and max to minDate and maxDate of second datepicker
$('#toDate').datepicker('option', 'minDate', dateRange.min);
$('#toDate').datepicker('option', 'maxDate', dateRange.max);
// set the focus to the second datepicker
setTimeout(function() { $('#toDate').focus(); }, 0);
}
});
小提琴:
片段:
$(“#fromDate”).datepicker({
日期格式:“年月日”,
onSelect:function(){
var dateRange={min:null,max:null},
selectedDate=$('#fromDate')。日期选择器('getDate');
dateRange.min=selectedDate.getDate()+3;
dateRange.max=selectedDate.getDate()+7;
$('#toDate').datepicker('option','minDate',dateRange.min);
$('#toDate').datepicker('option','maxDate',dateRange.max);
setTimeout(函数(){$('#toDate').focus();},0);
}
});
$(“#toDate”).datepicker({dateFormat:“yy-mm-dd”})代码>
您可以做如下简单的事情:
$('#datepicker').datepicker({onSelect: function(selectedDate) {
var newToDateStart=new Date(selectedDate);//convert selectedDate to Date object
newToDateStart.setDate(newToDateStart.getDate()+3) //todate start
var newToDateEnd=new Date(selectedDate);
newToDateEnd.setDate(newToDateEnd.getDate()+7);//todate end
$('#datepicker1').datepicker('option', 'minDate', newToDateStart);
$('#datepicker1').datepicker('option', 'maxDate', newToDateEnd);
//set min and maxdate to datepicker1
setTimeout(function() { $('#datepicker1').focus(); }, 0);
}});
试试$(“#日期选择器”)。日期选择器('option','minDate',selectedDate+3)
和类似的maxDate
。。你能试着创建一个提琴吗?这里什么都没有发生。你能在JSFIDLE中创建一个演示吗?当我使用该代码时,datepicker不会出现。。fiddle是有效的,但当我把它放进我的网站时,它就不起作用了,这一定是因为别的原因。如果它在fiddle和snippet中工作,那么它没有理由不在其他地方工作。检查控制台以查看是否有任何错误。这会给你一个想法。我不能说第三方网站。只需确保jquery、jQueryUI和css的版本顺序正确即可。