如何在jQuery ui datepicker小部件中从数组设置minDate / maxDate

时间:2014-08-13 20:03:11

标签: jquery jquery-ui datepicker

我有一个html table,其中每行包含一个datepicker字段。在单独的td中的每一行中,我有一个类product_id的输入字段。最后,有一个对象数组,这些产品ID作为其键,看起来像:

dateDetails[2].start_date = '2014-08-10' //year-month-day
dateDetails[2].end_date = '2014-10-10'
dateDetails[5].start_date = '2014-08-14'
dateDetails[5].end_date = '2014-12-16'

我正在尝试的代码是:

$(".txt_DatePicker").datepicker({
    beforeShowDay: function(date){
        //Logs the expected date
        console.log(dateDetails[$(this).closest('tr').find('.product_id').val()].start_date);
        .......
        ...
    },
    minDate: new Date(dateDetails[$(this).closest('tr').find('.product_id').val()].start_date),//Throws undefined error
    maxDate: new Date(dateDetails[$(this).closest('tr').find('.product_id').val()].end_date),
    dateFormat: "dd MM, yy"
});

如您所见,代码显示beforeShowDay中的值,但在Undefined行期间引发minDate\maxDate错误。我猜这是因为在那一点上,datepicker还没有被初始化,所以它找不到$(this)。但这只是我的猜测,我不知道如何解决它。

1 个答案:

答案 0 :(得分:0)

.datepicker({dateFormat:'yy-mm-dd',minDate:'2013-09-10' ,maxDate:'2013-10-10'});