2009-05-12 9 views
2

est-il possible de remplir le champ de saisie avec une date qui utilise le même format que je le sélectionnerais avec le Dateur de date? Par exemple j'ai une valeur (par exemple new Date()) dans mon champ de saisie avant que je sélectionne une date avec le datepicker et je veux qu'il ait le même format que je le sélectionnerais.JQuery datepicker init le sélecteur/champ

thx

kukudas

Répondre

2

Vérifiez la demo site, new Date(). Asstring() est utilisé pour sélectionner aujourd'hui et il est formated, comme on pouvait s'y attendre.

$('.date-pick').datePicker().val(new Date().asString()).trigger('change'); 

EDIT:

vous devez vous assurer, vous définissez correctement le Date.format. Voici un exemple de travail pour le format de date allemand:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
<head> 
    <meta http-equiv="Content-type" content="text/html; charset=utf-8"> 
    <title>jQuery datePicker simple datePicker demo</title> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
    <script type="text/javascript" src="http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/scripts/date.js"></script> 
    <script type="text/javascript" src="http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/scripts/jquery.datePicker.js"></script> 
    <link rel="stylesheet" type="text/css" media="screen" href="http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/styles/datePicker.css"> 

    <script type="text/javascript" charset="utf-8"> 

     Date.format = 'dd.mm.yyyy'; 

     $(function(){ 
      $('.date-pick').datePicker() 
       .val(new Date().asString()).trigger('change'); 
     }); 
    </script> 
</head> 
<body> 
    <label for="date1">Date 1:</label> 
    <input name="date1" id="date1" class="date-pick" /> 
</body> 
</html> 

Remarque, le script http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/scripts/date.js étend la Date.prototype et ensembles "Date.format" pour 'jj/mm/aaaa. Je passe outre avec 'jj.mm.aaaa'.

+0

i essayé cela mais mon champ de saisie est vide cependant .val (new Date()) fonctionne mais pas dans le format que mon datepicker utilise. – kukudas

+0

Juste ajouté un exemple de travail. –

+0

J'ai attaché datepicker à certaines zones de texte HTML en utilisant le nom de la classe CSS et le gestionnaire d'événements 'onSelect' J'ai besoin de connaître le nom de classe sélecteur sur lequel onSelect actuel est arrivé .. les éléments ont 2 autres classes appliquées autre que celle que j'utilise attacher datepicker –

1

Je ne suis pas sûr de comprendre vraiment quel est le problème?

$(document).ready(function() { 
    $('#date_field').datepicker({ 
     dateFormat: 'yy-mm-dd', 
     constrainInput: false}); 
}); 

et juste ont une valeur standard dans le champ de saisie vous avez:

<input name="date_field" id="date_field" value="2008-04-16" /> 

ou vous pouvez simplement définir la valeur dans document.ready

$('#date_field').val("2008-04-16"); 

après avoir ajouté le datepicker . Je ne suis pas sûr si c'est ce que vous voulez dire?

Ok, après votre commentaire que j'ai un sentiment que vous voulez quelque chose de similaire à ceci:

var my_date = new Date(); //This is the Date object that you're getting from external source 
$('#date_field').val(my_date.getFullYear()+"/"+my_date.getMonth()+"/"+my_date.getDate()); 

Cela devrait définir la valeur dans le champ à 2008/04/26 (ou autre)

+0

la valeur provient d'un système externe qui est probablement formé comme ceci Mar 12 Mai 2009 16:32: 05 GMT + 0200 mais après avoir sélectionné le format est par exemple 05/12/09. Fondamentalement, je veux que la valeur qui est remplie dans mon champ de saisie ait le même format que je le sélectionnerais dans le champ datepicker. Je suis un peu nouveau à ce genre de choses donc je ne sais pas comment je pourrais mieux expliquer j'espère que c'est plus clair. – kukudas

+0

Merci, est-il possible de changer ce my_date.getFullYear() + "/" + my_date.getMonth() + "/" + my_date.getDate() en appelant la même méthode de format/analyse que le datapicker utiliserait? – kukudas

+0

Je pense que j'ai besoin d'utiliser ceci: var dateFormat = $ ('. Selector'). Datepicker ('option', 'dateFormat'); que j'ai lu dans la documentation pour obtenir le style de format de mon datepicker. et après cela, je devrais être en mesure de formater et définir la valeur, mais de toute façon je reçois le code pour obtenir le format dateFormat ne fonctionne pas. – kukudas