web-dev-qa-db-fra.com

Comment obtenir la valeur de date sélectionnée en utilisant Bootstrap Datepicker?

À 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.

40
Ryan

Tu peux essayer ça

$('#startdate').val()

ou 

$('#startdate').data('date')
44
Sushanth --

Pour bootstrap datepicker, vous pouvez utiliser:

$("#inputWithDatePicer").data('datepicker').getFormattedDate('yyyy-mm-dd');
54
Matias

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() 
28
Luca Rasconi

En général, 

$('#startdate').data('date') 

est le meilleur parce que 

$('#startdate').val()

ne fonctionne pas si vous avez un datepicker "inline"

10
Lodato L

cela fonctionne avec moi pour inline datepicker (et l'autre)

$('#startdate').data('datepicker').date
3
Shady

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.

2
Bern

Essayez ceci en utilisant HTML comme ici:

var myDate = window.document.getElementById("startdate").value;
1
user3475960

Si vous ne voulez pas la date au format texte intégral, vous pouvez le faire comme ceci:

$('#your-datepicker').data().datepicker.viewDate
1
Pedro Martins

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 ..

0
SalindaKrish

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

0