2015-02-03 2 views
0

Я пытаюсь уничтожить datetimepicker при смене другого.jQuery datetimepicker destroy not working

Вот мой от сценария

У меня есть два или более datetimepickers в моем приложении. В качестве примера, если я изменил первый datetimepicker, тогда его дата установлена ​​на .next() datetimepicker как минимальную настройку даты, поэтому для всех следующих datetimepickers.

Так что это возрастающий заказы дат, Нет даты предыдущего элемента больше, чем следующий элемент.

Вот что я tried-

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

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

Моя проблема очень ясно, он никогда не устанавливает минимальный срок для следующего .datetimepicker.

Для экземпляра Если значение первого элемента равно 02 Feb 2015, то минимальное значение следующего также равно.

Настоящим я попытался разрушив следующий элемент первым затем применил

кампанию с таким же
$('.datetimepicker').change(function(){ 
    $(this).next('input.datetimepicker').destroy(); 

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

Но это всегда вызывает с функциональностью по умолчанию.

Я использую этот Справочно https://github.com/Eonasdan/bootstrap-datetimepicker

ответ

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

+0

, что если кто-то нужно на самом деле, чтобы уничтожить его, к примеру, если вы используете его нокаутировать связывания обработчиков ??? –

+0

Угадайте, что можно сделать то же самое после уничтожения. Я не пытался с нокаутом, но я попытался модифицировать вышеупомянутую скрипку с помощью destroy и, похоже, сработал [(Fiddle)] (http://jsfiddle.net/8ukrp9m2/1/). Также это старый ответ, теперь они обновили бы свой плагин. – anpsmn