简体   繁体   English

jQuery datetimepicker 销毁不起作用

[英]jQuery datetimepicker destroy not working

I am trying to destroy a datetimepicker on change of another.我试图在更改另一个日期时间选择器时销毁一个日期时间选择器。

Here is my scenario-这是我的场景-

I have two or more datetimepickers in my application.我的应用程序中有两个或更多日期时间选择器。 As an example if I change first datetimepicker then it's date is set to .next() datetimepicker as minimum setup of date, Hence for all next datetimepickers.例如,如果我更改第一个 datetimepicker,那么它的日期设置为.next() datetimepicker 作为日期的最小设置,因此对于所有下一个 datetimepicker。

So this is an ascending orders of dates, No date of previous element is greater than next element.所以这是日期的升序没有前一个元素的日期大于下一个元素。

Here is what I tried-这是我尝试过的-

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

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

My problem is very clear, It never sets the minimum date for next .datetimepicker .我的问题很清楚,它从不为下一个.datetimepicker设置最小日期。

For an instance If the value of first element is 02 Feb 2015 then minimum value of next is also the same.例如,如果第一个元素的值为02 Feb 2015则下一个元素的最小值也相同。

Hereby, I tried destroying next element first then applied the same-特此,我尝试先销毁下一个元素,然后应用相同的-

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

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

But it always invokes with the default functionality.但它总是使用默认功能调用。

I am using this reference- https://github.com/Eonasdan/bootstrap-datetimepicker我正在使用这个参考 - https://github.com/Eonasdan/bootstrap-datetimepicker

You don't need to destroy the object.您不需要销毁对象。 You can set the minDate on change of the previous element.您可以在更改前一个元素时设置 minDate。

HTML HTML

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

JS 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演示小提琴

您可以像这样销毁 datetimepicker:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM