51 votes

Définir la valeur initiale d'un afficheur de date avec jquery ?

J'essaie de définir une valeur initiale dans mon datepicker jquery ui. J'ai essayé plusieurs méthodes différentes, mais rien ne semble afficher la date, elle est vide.

var idag = new Date();
$("#txtFrom").datepicker("setDate", idag - 2);
$("#txtTom").datepicker("setDate", idag);
$("#txtFrom").datepicker("refresh");
$("#txtTom").datepicker("refresh");

1 votes

Je ne suis pas sûr que vous ayez besoin d'appeler les refresh méthode. Pouvez-vous nous expliquer plus en détail comment vous utilisez cette méthode ? Quand tentez-vous de fixer la date ?

1 votes

Andreas : Je pense l'avoir suivi à la lettre, mais sans résultat. C'est pourquoi je demande.

1 votes

@Richard : le rafraîchissement était juste un moyen d'essayer de faire sortir le texte.

98voto

Ce simple exemple fonctionne pour moi...

HTML

<input type="text" id="datepicker">

JavaScript

var $datepicker = $('#datepicker');
$datepicker.datepicker();
$datepicker.datepicker('setDate', new Date());

J'ai pu créer ceci en regardant simplement @ le manuel et en lisant l'explication de setDate :

.datepicker( "setDate" , date )
Définit la date actuelle pour le sélecteur de date. La nouvelle date peut être un objet Date ou une chaîne au format de date actuel (par exemple, '26/01/2009'), un nombre de jours à partir d'aujourd'hui (par exemple, +7) ou une chaîne de valeurs et de périodes. nombre de jours à partir d'aujourd'hui (par exemple +7) ou une chaîne de valeurs et de périodes ('y' pour les années, 'm' pour les mois, 'w' pour les semaines, 'd' pour les jours, par exemple '+1m +7j'), ou null pour effacer la date sélectionnée.

18voto

Henrik Stenbæk Points 1092

Vous pouvez définir la valeur dans le code HTML, puis activer le sélecteur de date pour mettre en évidence la date réelle.

<input name="datefrom" type="text" class="datepicker" value="20-1-2011">
<input name="dateto" type="text" class="datepicker" value="01-01-2012">
<input name="dateto2" type="text" class="datepicker" >

$(".datepicker").each(function() {    
    $(this).datepicker('setDate', $(this).val());
});

Ce qui précède fonctionne même avec les formats de date danois

http://jsfiddle.net/DDsBP/2/

0 votes

$("".datepicker"").each(function() { var dateValue = $(this).attr(""value"") ; if (dateValue != """"){ $(this).datepicker(""setDate"", dateValue) ; } }. }) ;

6voto

jb10210 Points 800

Desde jQuery :

Définissez la date à mettre en évidence à la première ouverture si le champ est vide. Indiquez soit une date réelle via un objet Date ou une chaîne dans le format dateFormat actuel, soit un nombre de jours à partir d'aujourd'hui (par exemple +7), soit une chaîne de valeurs et de périodes ('y' pour les années, 'm' pour les mois, 'w' pour les semaines, 'd' pour les jours, par exemple '+1m +7d'), soit null pour aujourd'hui.

Exemples de code

Initialise un sélecteur de date avec l'option defaultDate spécifiée.

$(".selector").datepicker({ defaultDate: +7 });

Obtenir ou définir l'option defaultDate, après init.

//getter
var defaultDate = $(".selector").datepicker("option", "defaultDate");
//setter
$(".selector").datepicker("option", "defaultDate", +7);

Une fois que le sélecteur de date est initialisé, vous devriez également être en mesure de définir la date avec :

$(/*selector*/).datepicker("setDate" , date)

3voto

Utilisez ce code, il vous aidera.

<script>
InitializeDate();
</script>

<input type="text" id="txtFromDate" class="datepicker calendar-icon" placeholder="From Date" style="width: 100px; margin-right: 10px; padding: 0px 0px 0px 7px;">
        <input type="text" id="txtToDate" class="datepicker calendar-icon" placeholder="To Date" style="width: 100px; margin-right: 10px; padding: 0px 0px 0px 7px;">

function InitializeDate() {
    var date = new Date();
    var dd = date.getDate();             
    var mm = date.getMonth() + 1;
    var yyyy = date.getFullYear();

    var ToDate = mm + '/' + dd + '/' + yyyy;
    var FromDate = mm + '/01/' + yyyy;
    $('#txtToDate').datepicker('setDate', ToDate);
    $('#txtFromDate').datepicker('setDate', FromDate);
}

0 votes

S'il vous plaît, ajoutez un peu d'intuition lorsque vous postez des extraits de code.

2voto

E2rdo Points 79

Je ne suis pas entièrement sûr d'avoir compris votre question, mais il semble que vous essayez de définir la valeur d'une entrée de type Date.

Si vous voulez définir une valeur pour un type de saisie ' Date ', alors il doit être formaté comme " aaaa-MM-jj " (Remarque : MM majuscule pour le mois, mm minuscule pour les minutes). Sinon, la valeur sera effacée et le sélecteur de date restera vide.

Disons que vous avez un bouton appelé " DateChanger "et vous voulez définir votre afficheur de date sur " 22 déc. 2012 "lorsque vous cliquez dessus.

<script>
    $(document).ready(function () {
        $('#DateChanger').click(function() {
             $('#dtFrom').val("2012-12-22");
        });
    });
</script>
<input type="date" id="dtFrom" name="dtFrom" />
<button id="DateChanger">Click</button>

N'oubliez pas d'inclure la référence à JQuery.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X