Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery数据采集器限制从到_Jquery_Datapicker - Fatal编程技术网

jQuery数据采集器限制从到

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天。因此,从开始到结束的时间应为
最短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的版本顺序正确即可。