2016-05-23 3 views
0

Я использую foundation datepicker, и я пытаюсь отключить даты. Я могу отключить даты для одного поля, где даты отключенным от недели назад, но я не могу отключить даты, которые идут теперь в будущее:Основание datepicker - отключение будущих дат

onRender: function (date) { 
    return date.valueOf() > date.valueOf() ? 'disabled' : ''; 
} 

Это полный код:

var date = new Date(); 
var weekBack = new Date(new Date(date).setDate(date.getDate() - 7)); 

$('#datePicker').fdatepicker({ 
    closeButton: false, 
    initialDate: weekBack, 
    format: 'dd.mm.yyyy', 
    onRender: function (date) { 
     return date.valueOf() > weekBack.valueOf() ? 'disabled' : ''; 
     }, 
    }).on('changeDate', function (ev) { 
      var dateFrom = $("#datePicker").val().split(".").reverse().join("-"); 
      var dateTo = $("#datePicker1").val().split(".").reverse().join("-"); 
      timelines(dateFrom, dateTo); 
      barCharts(dateFrom, dateTo); 
    }); 

    $('#datePicker1').fdatepicker({ 
     closeButton: false, 
     initialDate: date, 
     format: 'dd.mm.yyyy', 
     onRender: function (date) { 
     return date.valueOf() > date.valueOf() ? 'disabled' : ''; 
     }, 
    }).on('changeDate', function (ev) { 
      var dateFrom = $("#datePicker").val().split(".").reverse().join("-"); 
      var dateTo = $("#datePicker1").val().split(".").reverse().join("-"); 
      timelines(dateFrom, dateTo); 
      barCharts(dateFrom, dateTo); 
    }); 
+0

Я не могу найти 'maxDate' в параметрах datepicker основания, как в jQuery datepicker. У вас может быть скрытый второй datepicker и установить начальную дату на сегодняшнюю дату. В первом datepicker, если пользователь выбирает дату больше сегодняшней даты, вы можете показать сообщение о том, что будущие даты не разрешены. http://foundation-datepicker.peterbeno.com/example.html#no-inputs-example – Lucky

+0

Но мне нужно, чтобы второй датпикер был отключен для будущих дат с начала, поэтому это решение, к сожалению, не работает для меня. – Marco

+0

Да, это возможно. В вашем вопросе рассмотрим второй элемент выбора даты в качестве первого datepicker, и у вас будет еще один третий (скрытый) datepicker, а второй будет полагаться на этот третий datepicker, с помощью которого вы можете ограничить максимальную дату до сегодняшнего дня. Но это всего лишь работа, о которой я догадался. Удачи найти решение, хотя. – Lucky

ответ

2

Вы просто установить ENDDATE следующим образом:

var now = new Date();  
 
$("#birthday").fdatepicker({ 
 
       format: "dd M yyyy", 
 
       endDate: now 
 
      });

И наоборот, если вы хотите отключить последние дни, установите STARTDATE:

var now = new Date(); 
 
$("#checkin").fdatepicker({ 
 
       format: "dd M yyyy", 
 
       startDate: now 
 
      });

Надеюсь, это полезно!

+0

То есть, спасибо! – Marco

+0

Как мы можем отключить дату и разрешить выбор времени? –

-1

Может это вам помочь?

http://jsfiddle.net/D9C4F/ 

http://foundation.zurb.com/forum/posts/39753-foundation-datepicker-select-end-date 

И что же?

http://app.thewatchenthusiast.com/themes/base/bower_components/foundation-datepicker/example.html 
Смежные вопросы