2017-09-21 9 views
0

J'utilise bootstrap datetimepicker dans mon projet. Et je suis confronté au problème de la définition de la valeur de la date après le rendu de mon contrôle d'entrée.Bootstrap Datetimepicker ne peut pas définir la valeur de la date

Au début, je mis en place DateTimePicker comme suit:

$(".date").datetimepicker({ 
    defaultDate: moment(), 
    format: 'YYYY-MM-DD' 
}).on('keypress paste', function (e) { 
    e.preventDefault(); 
    return false; 
}); 

Et puis je charger la valeur de date de données réelles du contrôle en appelant au-dessous de la fonction:

function SetDate(control,date) 
{ 
    $('#'+ control).datetimepicker({ 
     defaultDate: new Date(date) 
    }); 
} 

Et puis le spectacle DateTimePicker uniquement la date actuelle mais elle renvoie la valeur de date correcte qui n'est pas la date actuelle lorsque je récupère la valeur avec document.getElementById ('elementname'). value.

Veuillez aviser. Merci.

Répondre

1

Je suppose que, pour les options ont montré, que vous utilisez http://eonasdan.github.io/bootstrap-datetimepicker

La façon dont vous utilisez le sélecteur est faux, parce que ce que vous faites appelle à nouveau le sélecteur, mieux le faire de cette façon:

$('#myDatepicker').datetimepicker(); 

Et puis avec votre commande/fonction (je vais utiliser un bouton de déclenchement de l'action)

$('#set').on('click', function() { 
    SetDate("myDatepicker", moment().subtract(1, 'day')); 
}); 

function SetDate(control, date) { 
    $('#' + control).data('DateTimePicker').defaultDate(date); 
} 

.data('DateTimePicker').defaultDate(date) est ce qui définit le defaultDate pour plus tard.

Et où moment().subtract(1, 'day')) est sorti un jour et est le paramètre date, et n'est pas nécessaire d'analyser à nouveau comme c'est un objet de moment; Si vous avez besoin d'analyser une date de chaîne que vous pouvez utiliser:

moment('20170202','YYYY-MM-DD')

Lorsque premier paramètre est votre chaîne de date. https://momentjs.com/docs/#/parsing/string-format/

Voici comment les options sont définies pour le plug-in http://eonasdan.github.io/bootstrap-datetimepicker/Options/

+0

Problème résolu maintenant. Merci pour le conseil! –

-1

Fetch la valeur en utilisant les éléments suivants:

$("#elementname").data('datepicker').getFormattedDate('YYYY-MM-DD'); 
+0

Merci pour conseiller! mais mon problème ne va pas chercher de la valeur. Le problème concerne defaultDate. Même si j'ai défini la date par défaut, mais elle affiche toujours la date actuelle que j'ai définie lors de la configuration de datepicker et de ne pas afficher la date définie. De plus, le datepicker continue d'afficher la date du jour même si je sélectionne une autre valeur de date. En passant, j'utilise React.js et considère l'environnement comme DOM virtuel. Merci tas pour votre aimable conseil. –