DatePicker claire du problème
J'ai un champ avec un sélecteur de date (jQuery) dans la page jsp.
échantillon (DatePicker)
http://jqueryui.com/demos/datepicker/#icon-trigger
Page a également un bouton "effacer" de la fonctionnalité, ce qui efface tous les champs de texte sur une page et le texte inséré dans ces domaines, y compris la date choisie dans le datepicker.
bouton effacer le code
<input type="button" name="buttonclear" id="buttonclear" class="buttonstyle_mid" value="Clear"
onclick="javascript:clearData();" />
javascript clearData() Code (pour le Champ Date)
document.getElementById("DateId").value = "";
Champ de Date Code
<form:input id="DateId" path="date" class="dateInput" size="11" maxlength="10" readonly="true" />
DatePicker de jQuery Code
<script type="text/javascript">
jQuery(function($) {
$('.dateInput').datePicker();
});
$('#DateId').datePicker({
startDate : '01/01/1970',
endDate : (new Date()).asString()
});
$('#DateId').bind('dpClosed', function(e, selectedDates) {
var d = selectedDates[0];
if (d) {
d = new Date(d);
$('#DateId1').dpSetStartDate(d.addDays(1).asString());
}
});
$('#DateId1').bind('dpClosed', function(e, selectedDates) {
var d = selectedDates[0];
if (d) {
d = new Date(d);
$('#DateId').dpSetEndDate(d.addDays(-1).asString());
}
});
</script>
Mon code a un inconvénient majeur. Si je sélectionne 1er août, 2011 à partir de la date picker et cliquez sur le bouton "effacer". Le champ date est effacée, mais je ne peux pas choisir la même date à nouveau (j'.e 1er août, 2011).
Bouton effacer efface uniquement la valeur à l'intérieur du champ, mais Elle n'efface pas la date dans le sous-jacent DatePicker
J'ai googlé beaucoup sur cette question, mais je ne pouvais pas trouver une solution appropriée à ce problème. Toute aide serait vraiment appréciée.
Grâce
OriginalL'auteur S Jagdeesh | 2011-08-25
Vous devez vous connecter pour publier un commentaire.
Je pense que vous devez ajouter la ligne suivante dans votre
clearData()
fonction:Ce unsets la valeur sélectionnée dans le sélecteur de date. Si vous effacez le champ de texte de la valeur que vous le faites maintenant, le sélecteur de date n'est pas mis à jour et donc il s'est pas synchronisé avec le champ de texte valeur.
Oups! Je l'ai eu .datepicker() il y à deux fois... Avez-vous entendu ça? Si pas, essayez la version révisée de la sorte.
J'ai pris ça :), essayé les deux façons. pas de chance 🙁 Corriger si je fais quelque chose de mal ici. Excusez-moi pour mon mauvais programmation. nouveau à jQuery) fonction clearData() { document.getElementById("date de début").valeur = ""; $('.dateInput').datePicker("setDate" , null ); }
+1 pour votre information, @JJ. jQuery sélecteur de date pourrait avoir une option avec un bouton image de la zone à effacer la valeur...
OriginalL'auteur JJ.
Ce on a fait le tour pour moi:
$('.dateInput').datePicker().dpSetSelected(null,true,false);
OriginalL'auteur Naveen