2017-09-20 3 views
0

J'utilise jQuery UI Datepicker (http://trentrichardson.com/examples/timepicker/). Tout fonctionne correctement sauf pour une chose. Je peux choisir la date et l'heure que je veux et enregistrer. Tout est stocké dans la base de données correctement et quand je reviens à l'éditeur, je vois la date/heure que j'avais précédemment enregistré. Tout va bien jusqu'ici. Le problème est quand j'essaye d'éditer la date/heure. Voir ce qui se passe:jQuery UI Datepicker ne montrant pas la date et l'heure précédemment choisies

enter image description here

Remarquez que même si la zone de texte du champ d'entrée a la date/heure « 01/11/2017 08:23:00 », le calendrier est par défaut indiquant le jour courant de mon ordinateur, le 20 septembre, et pour l'heure, il affiche la valeur par défaut de 12h00. Pourquoi le calendrier ne respecte-t-il pas les valeurs qui apparaissent dans la zone de texte du champ de saisie?

EDIT: Voici ce que je me sers dans mon fichier JavaScript:

// jQuery UI Datepicker (http://trentrichardson.com/examples/timepicker/) 
$('#start_date').datetimepicker({ 
    timeInput: true, 
    timeFormat: "hh:mm tt" 
}); 

C'est ce que j'ai dans mon dossier PHP/.ctp (J'utilise CakePHP 1.2):

<div> 
    <?php echo $form->input('start_date', array('id' => 'start_date', 'label' => __l('Start Date'), 'type' => 'text'));?> 
</div> 
+0

Je soupçonne que le problème peut être que dans la base de données, l'entrée apparaît comme "2017-11-01 08:23:00", et jQuery UI Datepicker pourrait attendre ce format: "11/01/2017 08:23 un m". –

Répondre

0

La réponse acceptée à Is it possible to change date format in date time picker? m'a donné l'indice pour trouver la solution pour ce dont j'avais besoin. Ce fut la solution pour moi:

$('#start_date').datetimepicker({ 
    timeInput: true, 
    dateFormat: 'yy-mm-dd', 
    timeFormat: 'HH:mm:ss' 
}); 

j'avais tout simplement de suivre le même format de la façon dont la base de données stocke la date et l'heure, puisque c'est ainsi CakePHP récupère les données. Maintenant tout fonctionne correctement pour moi.