jQuery datetimepicker destroy无法正常工作

时间:2015-02-03 07:48:12

标签: jquery twitter-bootstrap datepicker datetimepicker

我正试图在更改另一个时修改datetimepicker。

这是我的情景 -

我的应用程序中有两个或更多datetimepickers。例如,如果我更改第一个datetimepicker,则将其日期设置为.next() datetimepicker作为日期的最小设置,因此适用于所有下一个datetimepickers。

所以这是一个升序日期订单,前一个元素的日期不会大于下一个元素。

这是我试过的 -

$('.datetimepicker').datetimepicker(); //initialized datetimepicker for all elements.

$('.datetimepicker').change(function(){
    $(this).next('input.datetimepicker').datetimepicker({
       minDate:$(this).val()
    });
});

我的问题很清楚,它从未设置下一个.datetimepicker的最短日期。

对于实例如果第一个元素的值是02 Feb 2015,那么next的最小值也是相同的。

在此,我尝试先破坏下一个元素然后应用相同的 -

$('.datetimepicker').change(function(){
   $(this).next('input.datetimepicker').destroy();

   $(this).next('input.datetimepicker').datetimepicker({
       minDate:$(this).val()
   });
});

但它始终使用默认功能调用。

我正在使用此引用 - https://github.com/Eonasdan/bootstrap-datetimepicker

2 个答案:

答案 0 :(得分:1)

您无需销毁对象。您可以在更改前一个元素时设置minDate。

<强> HTML

<input type="text" class="form-control datetimepicker" id="datetimepicker1" />
<input type="text" class="form-control datetimepicker" id="datetimepicker2" />

<强> JS

$('.datetimepicker').datetimepicker();    
$('.datetimepicker').on('dp.change', function (e) {
    var nextElem = $(this).next('input.datetimepicker');
    if (nextElem.length > 0) {
        nextElem.data("DateTimePicker").minDate(e.date)
    }
});

Demo Fiddle

答案 1 :(得分:0)

您可以这样破坏datetimepicker:

$('.datetimepicker').datetimepicker('remove');