Effacer la valeur de bootstrap-datepicker
j'utilise bootstrap-datepicker d'ici:https://github.com/eternicode/bootstrap-datepicker
version: 2.3.2
j'ai du mal à effacer les valeurs de date du cliqueur de données lorsqu'un bouton est cliqué. J'ai vérifié L'API mais je ne trouve rien sur le nettoyage/réinitialisation du curseur de données. Toute aide est la bienvenue
8 réponses
vous pouvez utiliser jQuery pour effacer la valeur de votre entrée date.
Par exemple avec un bouton et une saisie de texte comme ceci :
<input type="text" id="datepicker">
<button id="reset-date">Reset</button>
Vous pouvez utiliser le .val () fonction de jQuery.
$("#reset-date").click(function(){
$('#datepicker').val("").datepicker("update");
})
j'ai eu des problèmes similaires et le suivant a fonctionné pour moi:
$('#datepicker').val('').datepicker('update');
Les deux appels de méthode étaient nécessaires, sinon ça n'a pas été clair.
la version actuelle 1.4.0 a clearBtn
option:
$('.datepicker').datepicker({
clearBtn: true
});
en plus d'ajouter un bouton à l'interface, il permet de supprimer la valeur de la boîte d'entrée manuellement.
je suis tombé sur ce fil en essayant d'effacer la date déjà fixée. Tentative:
$('#datepicker').val('').datepicker('update');
produit:
TypeError: t.dpDiv is undefined
https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js -- Line 8
en pensant qu'il fallait peut-être inclure le origine Datepicker pour bootstrap supprime l'erreur, mais provoque alors l'original composant à apparaître! - c'est bien sûr faux et ne sont pas nécessaires.
en regardant plus loin, le crash de jqueryui est dans:
/* Generate the date picker content. */
_updateDatepicker: function(inst) {
this.maxRows = 4; //Reset the max number of rows being displayed (see #7043)
datepicker_instActive = inst; // for delegate hover events
inst.dpDiv.empty().append(this._generateHTML(inst));
this._attachHandlers(inst);
et inst.pdDiv n'existe pas.
Enquête plus loin - j'ai réalisé que ce qui était nécessaire était:
$formControl = $duedate.find("input");
$formControl.val('');
$formControl.removeData();
Qui a résolu mon problème. Notez que j'avais aussi besoin de $ formControl.removeData () sinon l'état du widget ne serait pas réinitialisé à l'état initial.
j'espère que cela aide quelqu'un d'autre. : -)
Vous pouvez utiliser cette syntaxe pour réinitialiser votre Bootstrap
$('#datepicker').datepicker('update','');
référence http://bootstrap-datepicker.readthedocs.org/en/latest/methods.html#update
en Fait, il est beaucoup plus utile d'utiliser la méthode qui est venu avec la bibliothèque comme ceci $(".datepicker").datepicker("clearDates");
je vous recommandons, vous pouvez toujours jeter un oeil à la documentation de la bibliothèque, voici celui que j'ai utilisé pour cela.
je sais qu'il est trop tard pour répondre, mais dans mon scénario ci-dessous le code ne fonctionnait pas.
$('#datepicker').val("");
$('#datepicker').val('').datepicker('update');
$('#datepicker').datepicker('update','');
voici ma solution.
$('#datepicker').val('').datepicker('remove').datepicker();
j'ai effacé la valeur de datepicker d'abord puis j'ai supprimé datepicker et à nouveau réinitialisé datepicker. ses résolu mon problème.
je suis tombé sur ce fil en essayant de comprendre pourquoi les dates n'étaient pas autorisées dans IE7/IE8.
Cela a à voir avec le fait que IE8 et plus anciens nécessitent un second paramètre pour le tableau.prototype.méthode splice ().
Voici le code original de bootstrap.datepicker.js:
clear: function(){
this.splice(0);
},
L'ajout du second paramètre a résolu mon problème:
clear: function(){
this.splice(0,this.length);
},