2010-12-08 20 views
13

J'ai champ de date (id commence jour)altFormat ne fonctionne pas dans le champ d'entrée jQuery datepicker

$("#begin-date").datepicker({ 
    minDate: -20, 
    maxDate: "+1M +10D", 
    dateFormat: "yy-mm-dd", 
    altFormat: "yymmdd" 
}); 

Sur poste, il imprime le format que aa-mm-dd (2010-12-08), lorsque il devrait imprimer comme yymmdd (20101208)

Des idées de pourquoi il ne l'affiche pas correctement avec l'ensemble altFormat?

champ de saisie

rendu:

<input type="text" name="begin_date" id="begin-date" class="validate[required]" value="" /> 

Répondre

38

L'option altFormat ne contrôle pas la mise en forme de l'entrée avec le sélecteur de date, mais le format d'un champ alternatif (généralement caché) spécifié par the altField option, comme ceci:

$("#begin-date").datepicker({ 
    minDate: -20, 
    maxDate: "+1M +10D", 
    dateFormat: "yy-mm-dd", 
    altFormat: "yymmdd", 
    altField: "#alt-date" 
}); 

You can test it out here; ce que vous voulez sans doute est de mettre juste le name sur ce champ alt et c'est ce que vous obtiendrez affiché ... sans name le terrain avec le sélecteur de date ne sera pas obtenir sérialisé/soumis, par exemple:

<input type="text" id="begin-date" class="validate[required]" /> 
<input type="text" id="alt-date" name="begin_date" /> 
+0

up a voté, mais la démo n'a pas fonctionné .. Merci pour les détails .. – bsr

+0

@bsreekanth - merci de me le faire savoir, il semble que les liens jquery dans ce vieux violon ne pointaient plus à la bon endroit (changements dans le code du violon), j'ai mis à jour la démo pour travailler avec une version plus récente :) –

+0

Malheureusement, cela ne fonctionne que dans un sens - il remplira l'altField, mais [il ne s'initialisera pas correctement] (http://jsfiddle.net/mindplay/7X6v4/) à partir de la valeur dans altField. –

1

l'altFormat doit fonctionner avec altField;

<input type="text" name="pushTime" class="datetime" id="pushTime"/> $(".datetime").datepicker({altFormat:"yy-mm-dd",altField: "#pushTime"});