it-swarm.com.ru

Как получить выбранное значение даты при использовании Bootstrap Datepicker?

Используя jquery и Bootstrap Datepicker, как мне получить новое значение даты, которое я выбрал, используя Bootstrap Datepicker? К вашему сведению, я использую Rails 3 и Coffescript.

Я настроил сборщик данных, используя:

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

Когда пользователь нажимает кнопку «получить данные с использованием даты» рядом с ней, я буду использовать jQuery для получения нового значения даты, установленного указателем даты, запретить отправку формы и выполнить запрос ajax с использованием этого значения даты. Все Ajax работает хорошо, за исключением получения правильного нового значения даты. Я попробовал оба из следующих, и это не дает мне новую дату, это только возвращает значения по умолчанию, которые я первоначально установил.

sd1 = $('#startdate').attr('value')
console.log sd1

sd2 = $('#startdate').attr('data-date'))
console.log sd2

Я чувствую себя действительно глупо сейчас, но я не могу узнать, как получить новое значение даты, установленное загрузчиком даты начальной загрузки.

40
Ryan

Вы можете попробовать это

$('#startdate').val()

или же 

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

Для начальной загрузки DatePicker вы можете использовать:

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

Bootstrap datepicker (первый результат поиска по начальной загрузке datepickcer) имеет метод для получения выбранной даты.
http://bootstrap-datepicker.readthedocs.org/en/release/methods.html#getdate

getDate:
Возвращает локализованный объект даты, представляющий внутренний объект даты первого средства выбора даты в выборе.
Для сборщиков с несколькими датами возвращает последнюю выбранную дату.

$('.datepicker').datepicker("getDate")

или же

$('.datepicker').datepicker("getDate").valueOf() 
28
Luca Rasconi

Вообще говоря, 

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

лучше, потому что 

$('#startdate').val()

не работает, если у вас есть DatePicker "Inline"

10
Lodato L

это работает со мной для встроенного datepicker (и другой)

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

Если у вас уже выделено несколько дат и вы хотите определить дату последнего нажатия , вам потребуется следующее:

$('#startdate').data('datepicker').viewDate

viewDate возвращает объект даты в JavaScript, поэтому вам нужно соответствующим образом обработать его.

2
Bern

Попробуйте это, используя HTML как здесь:

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

Если вы не хотите указывать дату в формате полнотекстовой строки, вы можете сделать это следующим образом:

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

Я попытался с приведенными выше ответами, но они не сработали для меня; Итак, как указал user3475960, я использовал $('#startdate').html(), которая дала мне html-текст, поэтому я использовал его по мере необходимости ... Может быть, кто-то воспользуется им ...

0
SalindaKrish

Здесь есть много решений, но, вероятно, лучшее, которое работает. Проверьте версию скрипта, которую вы хотите использовать.

Ну, по крайней мере, я могу дать вам мой 100% рабочий раствор для

версия: 4.17.45

bootstrap-datetimejs https://github.com/Eonasdan/bootstrap-datetimepicker Авторские права (c) 2015 Джонатан Петерсон

JavaScript

var startdate = $('#startdate').val(); 

Вывод выглядит так: 12.09.2018 03:05

0
Academy of Programmer