如何在jQueryUIDatePicker小部件中从数组设置minDate/maxDate

如何在jQueryUIDatePicker小部件中从数组设置minDate/maxDate,jquery,jquery-ui,datepicker,Jquery,Jquery Ui,Datepicker,我有一个html表,其中每一行都包含一个datepicker字段。在单独td中的每一行中,我都有一个带有product_id类的输入字段。最后是一个对象数组,这些对象的键是product 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' dateDetai

我有一个html表,其中每一行都包含一个datepicker字段。在单独td中的每一行中,我都有一个带有product_id类的输入字段。最后是一个对象数组,这些对象的键是product 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中显示值,但在minDate\maxDatelines期间抛出一个未定义的错误。我猜发生这种情况是因为此时datepicker尚未初始化,因此无法找到$this。但这只是我的猜测,我不知道如何解决它。

你读过这个问题吗?我不能硬编码日期。它们需要在初始化期间从数组中动态获取
.datepicker({dateFormat:'yy-mm-dd',minDate:'2013-09-10' ,maxDate:'2013-10-10'});