7
votes

Bootstrap 3 DatePicker - Comment réinitialiser la date sélectionnée sans réinitialiser la configuration du sélecteur?

J'essaie de réinitialiser la date sélectionnée sur le bouton Cliquez, mais jusqu'à présent, je ne peux que désactiver l'élément code> d'entrée code>, sans la date réelle sur le sélecteur. Le code suivant réinitialise tout, y compris la configuration et la date, donc ce n'est évidemment pas ce dont j'ai besoin. XXX PRE>

à élaborer: l'utilisateur ne peut sélectionner qu'une date 7 jours à compter de la journée en cours. Il existe également un bouton permettant à l'utilisateur d'effacer la date sélectionnée du sélecteur et de sélectionner un nouveau. En ce moment, la fonction de compensation ne peut effacer que l'élément d'entrée du sélecteur (mais pas la date réelle dans l'élément de sélecteur) ou pour effacer la sélection avec la configuration de sélection (ex. Le StartDate: "+ 7d". Je veux Clairez seulement la date sélectionnée, sans réinitialiser tout. p>

jsfiddle p>

C'est ce que je suis venu avec jusqu'à présent:
HTML: P>

$(document).ready(function() {

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

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

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

});


3 commentaires

Pouvez-vous être un peu plus spécifique car il est difficile de déduire ce que vous essayez exactement d'atteindre ..


Bien sûr. L'utilisateur ne peut sélectionner qu'une date 7 jours à compter de la journée en cours. Il existe également un bouton permettant à l'utilisateur d'effacer la date sélectionnée du sélecteur et de sélectionner un nouveau. En ce moment, la fonction de compensation ne peut effacer que l'élément d'entrée du sélecteur (mais pas la date réelle dans l'élément de sélection) ou pour effacer la sélection avec la configuration du sélecteur (ex. Le StartDate: "+ 7d" < / Code>. Je veux effacer uniquement la date sélectionnée, sans réinitialiser tout.


Quelle réinitialisation signifie réellement? Définissez la date à la date actuelle ou à toute autre configuration. Vous pouvez définir DatePicker à la date actuelle. $ ("# mydatePicker"). DatePicker ("Setdate", nouvelle date ());


3 Réponses :


18
votes

Vous devez obtenir le datationPicker actuel code> instance et appelez setDate (null) code> dessus. Vous pouvez le faire comme ceci:

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


2 commentaires

Salut, comme je sais #mydatepicker est rassemblé à partir de HTML ID, alors que diriez-vous de DatePicker ? Où trouver l'identifiant / nommer?


@ Mastersuse Vous choisissez votre propre identifiant / nommage. J'ai référencé #mydatepicker parce que c'est l'identifiant de la question



7
votes
$('#myDatepicker').data('DateTimePicker').date(null);

2 commentaires

C'est génial et fonctionne mieux que $ ("# myDatePicker"). Enfants (). Val ('');


Merci beaucoup ça aide beaucoup



0
votes

Pour une raison quelconque des exemples ci-dessus n'a travaillé pour moi, mais ce qui suit:

$('#myDatepicker').data('DateTimePicker').clear().viewMode('decades')


0 commentaires