À l'aide de jquery et de Bootstrap Datepicker, comment puis-je obtenir la nouvelle valeur de date que j'ai sélectionnée à l'aide de Bootstrap Datepicker? FYI, j'utilise Rails 3 et Coffescript.
J'ai configuré le datapicker en utilisant:
<input id="startdate" class="span2 datepicker" type="text" value="" name="startdate" default="2013-05-21" data-date="2013-05-21" data-behavior="datepicker">
<%= submit_tag 'Get Data using date', :id => 'get_data' %>
$(".datepicker").datepicker
endDate: new Date
format: "yyyy-mm-dd"
autoclose: true
minViewMode: 1
todayBtn: "linked"
Lorsqu'un utilisateur clique sur le bouton "Obtenir les données à l'aide de la date" situé à côté, j'utilise jQuery pour obtenir la nouvelle valeur de date définie par le sélecteur de date, empêcher le formulaire de soumettre et exécuter une demande ajax utilisant cette valeur de date. Tout le ajax fonctionne bien, sauf pour obtenir la nouvelle valeur de date correcte. J'ai essayé les deux opérations suivantes et cela ne me donne pas la nouvelle date, mais uniquement les valeurs par défaut que j'ai définies initialement.
sd1 = $('#startdate').attr('value')
console.log sd1
sd2 = $('#startdate').attr('data-date'))
console.log sd2
Je me sens vraiment stupide en ce moment, mais je ne peux pas trouver comment obtenir la nouvelle valeur de date définie par le sélecteur de date bootstrap.
Tu peux essayer ça
$('#startdate').val()
ou
$('#startdate').data('date')
Pour bootstrap datepicker, vous pouvez utiliser:
$("#inputWithDatePicer").data('datepicker').getFormattedDate('yyyy-mm-dd');
Bootstrap datepicker (le premier résultat de la recherche bootstrap datepickcer) a une méthode pour obtenir la date sélectionnée.
http://bootstrap-datepicker.readthedocs.org/fr/release/methods.html#getdate
avoir un rendez-vous:
Renvoie un objet de date localisé représentant l'objet de date interne du premier datpicker de la sélection.
Pour les sélecteurs multidates, renvoie la dernière date sélectionnée.
$('.datepicker').datepicker("getDate")
ou
$('.datepicker').datepicker("getDate").valueOf()
En général,
$('#startdate').data('date')
est le meilleur parce que
$('#startdate').val()
ne fonctionne pas si vous avez un datepicker "inline"
cela fonctionne avec moi pour inline datepicker
(et l'autre)
$('#startdate').data('datepicker').date
Si vous avez déjà un certain nombre de dates en surbrillance et souhaitez déterminez quelle date a été cliquée en dernier alors vous aurez besoin des éléments suivants:
$('#startdate').data('datepicker').viewDate
viewDate
renvoie un objet de date JavaScript, vous devez donc le gérer en conséquence.
Essayez ceci en utilisant HTML comme ici:
var myDate = window.document.getElementById("startdate").value;
Si vous ne voulez pas la date au format texte intégral, vous pouvez le faire comme ceci:
$('#your-datepicker').data().datepicker.viewDate
J'ai essayé avec les réponses ci-dessus, mais elles n'ont pas fonctionné pour moi; Donc, comme l’a indiqué user3475960, j’ai utilisé $('#startdate').html()
qui m’a donné le texte html, donc je l’ai utilisé au besoin .... peut-être que quelqu'un en fera usage ..
Il y a beaucoup de solutions ici mais probablement la meilleure qui fonctionne. Vérifiez la version du script que vous souhaitez utiliser.
Bien au moins je peux vous donner ma solution de travail à 100% pour
version: 4.17.45
bootstrap-datetimejs https://github.com/Eonasdan/bootstrap-datetimepicker Copyright (c) 2015 Jonathan Peterson
JavaScript
var startdate = $('#startdate').val();
La sortie ressemble à: 12.09.2018 03:05