web-dev-qa-db-fra.com

Définir la date du jour comme date par défaut dans jQuery UI datepicker

Je veux juste que la date d'aujourd'hui soit la valeur par défaut dans l'entrée qui utilise la variable datepicker de jQuery UI:

<input id="mydate" type="text" />

J'ai essayé le code ci-dessous mais cela n'a pas fonctionné:

var currentDate = new Date();  
$("#mydate").datepicker("setDate",currentDate);
60
Chris Abrams

Vous devez faire l'appel à setDate séparément de l'appel d'initialisation. Donc, pour créer le sélecteur de date et définir la date en une fois:

$("#mydate").datepicker().datepicker("setDate", new Date());

Pourquoi c'est comme ça, je ne sais pas. Si quelqu'un le faisait, ce serait une information intéressante.

88
Martin Eden

Vous devez initialiser le datepicker avant d'appeler un datepickerméthode

Voici une 

JSFiddle au travail .


$("#mydate").datepicker().datepicker("setDate", new Date());
//-initialization--^          ^-- method invokation
<link href="https://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<input type="text" id="mydate" />


P.S: Cela suppose que la date correcte est définie sur votre ordinateur 

74
T J

C'est très simple il suffit d'ajouter ce script,

$("#mydate").datepicker({ dateFormat: "yy-mm-dd"}).datepicker("setDate", new Date());

Ici, setDate set today date & dateFormat définissent le format à définir ou à afficher.

J'espère que son travail de script simple ..

21
rjony
$("#date").datepicker.regional[""].dateFormat = 'dd/mm/yy';
$("#date").datepicker("setDate", new Date());

Travaille toujours pour moi 

5
Ashisha Nautiyal

Celui-ci fonctionne pour moi, vous devez d'abord lier datepicker à la zone de texte et définir ensuite la date suivante (aujourd'hui comme date par défaut) 

$("#date").datepicker();

$("#date").datepicker("setDate", new Date());
4
Usman Younas

Remarque: Lorsque vous transmettez setDate, vous appelez une méthode qui suppose que le sélecteur de date a déjà été initialisé sur cet objet.

$(function() {    
   $('#date').datepicker();
   $('#date').datepicker('setDate', '04/23/2014');
});

Test: http://jsfiddle.net/wimarbueno/hQkec/1/

3
Wilzon

Cela a fonctionné pour moi et l'a aussi localisé:

$.datepicker.setDefaults( $.datepicker.regional[ "fr" ] );
$(function() {
   $( "#txtDespatchDate" ).datepicker( );
   $( "#txtDespatchDate" ).datepicker( "option", "dateFormat", "dd/mm/yy" );
   $('#txtDespatchDate').datepicker('setDate', new Date());
});
2
Jan

Définir la date par défaut lors de l'initialisation:

$("#date").datepicker({
    defaultDate: '01/26/2014'
});
2
Morten Holmgaard

Il suffit de définir minDate: 0

Voici mon script:

$("#valid_from")
   .datepicker({
     minDate: 0,
     defaultDate: "+1w",
     changeMonth: true,
     numberOfMonths: 3
})
1
Mike Nguyen

J'ai essayé de nombreuses manières et j'ai mis au point ma propre solution, qui fonctionne absolument selon les besoins.

"mydate" est l'ID de l'élément/contrôle datepicker ou datepicker.

        $(document).ready(function () {

        var dateNewFormat, onlyDate, today = new Date();

        dateNewFormat = today.getFullYear() + '-' + (today.getMonth() + 1);

        onlyDate = today.getDate();

        if (onlyDate.toString().length == 2) {
            dateNewFormat += '-' + onlyDate;
        }
        else {
            dateNewFormat += '-0' + onlyDate;
        }
        $('#mydate').val(dateNewFormat);
    });
0
Radha Anil K

Vous n'avez pas défini

$("#mydate").datepicker({});
0
Ashish Mehta

Essaye ça:

$('.datepicker').datepicker('update', new Date(year,month,day));
0
Abdo Bahhous