2015-06-23 6 views
5

Próbuję zresetować wybraną datę po kliknięciu przycisku, ale do tej pory mogę tylko wyczyścić element input, bez faktycznej daty w selektorze. Poniższy kod resetuje wszystko, łącznie z konfiguracją i datą, więc oczywiście nie jest to, czego potrzebuję.Bootstrap 3 DatePicker - Jak zresetować wybraną datę bez resetowania konfiguracji selektora?

$('#datepicker').datepicker('update',''); //resets everything 

Aby opracować: Użytkownik może wybrać tylko datę 7 dni od bieżącego dnia. Jest także przycisk, który pozwala użytkownikowi wyczyścić wybraną datę z selektora i wybrać nowy. Teraz funkcja czyszczenia może tylko wyczyścić element wejściowy z selektora (ale nie faktyczną datę w elemencie selektora) lub wyczyścić zaznaczenie Z konfiguracją próbnika (np. StartDate: "+ 7d". wyczyścić tylko wybrany termin, bez resetowania wszystko

jsfiddle

to co wymyśliłem tak daleko.
HTML:

<div id="myDatepicker" class="input-group date"> 
    <input type="text" class="form-control" id="datepick"> 
    <span class="input-group-addon"> 
    <i class="fa fa-calendar"></i> 
    </span> 
    <a href="#" id="duration_tag"></a> 
</div> 
<button type="button" id="clear">clear</button> 

jQuery:

$(document).ready(function() { 

$("#clear").click(function(){ 
    $('#datepick').val(" ").datepicker({startDate: "+7d"});     
}); 

$('#myDatepicker').datepicker({ 
        startDate: "+7d", 
       }); 

$('#myDatepicker').on('changeDate', function(e){ 
    $(this).datepicker('hide'); 
}); 

}); 
+0

można być nieco bardziej szczegółowe, jak trudno jest wywnioskować, co dokładnie próbujesz osiągnąć .. – Arcanyx

+0

Oczywiście. Użytkownik może wybrać tylko datę 7 dni od bieżącego dnia. Jest także przycisk, który pozwala użytkownikowi wyczyścić wybraną datę z selektora i wybrać nowy. W tej chwili funkcja kasowania może usunąć tylko element wejściowy z selektora (ale nie faktyczną datę w elemencie wyboru) lub wyczyścić zaznaczenie Z konfiguracją próbnika (np. 'StartDate:" + 7d "'. chcesz wyczyścić tylko wybraną datę, bez resetowania wszystkiego – undroid

+0

, co to oznacza zresetować? Ustaw datę na aktualną datę lub dowolną inną konfigurację Możesz ustawić datepicker na aktualną datę $ ("# myDatepicker") datepicker ("setDate", new Date()); –

Odpowiedz

12

Musisz pobrać bieżącą instancję datePicker i zadzwonić pod numer setDate(null). można to zrobić tak:

$("#clear").click(function(){ 
    $('#myDatepicker').data('datepicker').setDate(null); 
}); 

zaktualizowaną skrzypce: http://jsfiddle.net/4L6fhjLf/2/

5
$('#myDatepicker').data('DateTimePicker').date(null); 
+0

to jest świetne i działa lepiej niż '$ (" # myDatepicker "). children(). val ('');' – yami

+0

Dziękuję bardzo, bardzo pomaga –

Powiązane problemy