0

У меня есть большие проблемы, чтобы запустить функцию обратного вызова моего daterangepicker (от http://tamble.github.io/jquery-ui-daterangepicker/)daterangepicker обратного вызова не работает на всех

я не видел никаких предупреждений.

У меня есть кнопка «применить» в нижней части пользовательского интерфейса daterangepicker. Я нажимаю Apply, а затем fisld дата хоста, которую я выбрал, но без предупреждения, как она должна отображаться.

Это код, который я сделал (очень простой код):

// will host dates in callback 
       var startDate; 
       var endDate; 
       $('#daterangepicker').daterangepicker(
        { 
         format: 'YYYY-MM-DD', 
         startDate: '2013-01-01', 
         endDate: '2013-12-31' 
        }, 
        function (start, end) { 
         alert("hey"); 
        } 
       ); 

Спасибо заранее, чтобы помочь мне

EDIT:

// will host dates 
       var startDate; 
       var endDate; 
       // Show multidatetime picker 
       // more infos here: http://tamble.github.io/jquery-ui-daterangepicker/ 
       $('#daterangepicker').daterangepicker(
        { 
         onChange: function (start, end) { alert('change : ' + start + ' - ' + end) }, 
         format: 'YYYY-MM-DD', 
         startDate: '2013-01-01', 
         endDate: '2013-12-31' 
        } 
       ); 

Это то, что я 'test, но startDate и endDate не определены.

EDIT 2: Это мой окончательный код 100% работает с помощью EricMathieu

// Show multidatetime picker 
       // more infos here: http://tamble.github.io/jquery-ui-daterangepicker/ 
       $('#daterangepicker').daterangepicker(
        { 
         format: 'YYYY-MM-DD', 
         startDate: '2013-01-01', 
         endDate: '2013-12-31' 
        }); 
... 
var tempValues = JSON.parse($('#daterangepicker').val()); 
alert(tempValues.start); 
alert(tempValues.end); 
+0

Если я смотрю на документации callb ack использует другое обозначение, которое вы используете, используйте 'onClose: function() {log ('close')}', как указано в документеaitaiton –

+0

@EricMathieu благодарит Эрика, но мне все еще нелегко использовать даты, неопределенные как , Как я могу сделать? Заранее спасибо – clement

ответ

0

Если вы используете onChange обратный вызов, вы должны читать значения, хранящиеся в #daterangepicker, ваши start и end переменные автоматически не заполняются.

Простой подход, чтобы получить старт/конечные значения будет анализировать начальные и конечные значения (из JSON) в вашей onChange функции:

var startDate; 
var endDate; 
// Show multidatetime picker 
// more infos here: http://tamble.github.io/jquery-ui-daterangepicker/ 
$('#daterangepicker').daterangepicker(
    { 
     onChange: function() { 
      var tempValues = JSON.parse($('#daterangepicker').val()); 
      alert('change : ' + tempValues.start + ' - ' + tempValues.end) 
     }, 
     format: 'YYYY-MM-DD', 
     startDate: '2013-01-01', 
     endDate: '2013-12-31' 
    } 
); 
+0

, если я использую разбор json, не нужно использовать обратный вызов. Я верну свой запрос и поставлю свое решение в качестве второго редактирования моего вопроса. Спасибо за вашу помощь – clement

0

Вы должны назвать так:

function(start, end, label) { 

console.log(start.toLocaleString() + end.toLocaleString() + label); 
} 

Так весь пример будет выглядеть так:

$('#date_range').daterangepicker({ 
     timePicker: false, timePickerIncrement: 30, 
     //format: 'DD-MM-YYYY hh:mm:ss', 
     format: 'DD-MM-YYYY', 
     timePicker12Hour: false, 
     opens: 'left', 
     locale: { cancelLabel: 'Clear' }, 
     separator: ' to '}, 
     function(start, end, label) { 
console.log(start.toLocaleString() + end.toLocaleString() + label); 
} 
}); 

 Смежные вопросы

  • Нет связанных вопросов^_^