jQuery daterangepicker: выполняет предупреждение дважды? - PullRequest
1 голос
/ 15 ноября 2010

Я хочу, чтобы он предупреждал «ок», когда вы меняете / делаете дату.Но я получаю два предупреждения вместо одного?

Как я могу это исправить?

вот код:

$(document).ready(
function(){
   $('#datePicking')
       .daterangepicker({
       arrows:true,
       onChange: function(){
           $('#Viewer')
           alert('ok');
       }
       }); 
});

вот рабочий пример: http://jsfiddle.net/BU5PJ/2/

jquery 1.4.4, пользовательский интерфейс 1.8.5, + daterangepicker от filamentgroup.com

Ответы [ 3 ]

2 голосов
/ 15 ноября 2010

Судя по документации, найденной здесь http://www.filamentgroup.com/lab/date_range_picker_using_jquery_ui_16_and_jquery_ui_css_framework/

onChange: функция, обратный вызов, выполняется всякий раз, когда ввод даты изменения (может произойти дважды в диапазоне выбор).

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

0 голосов
/ 06 июля 2017

В моем случае я использую daterangepicker с угловой.Моя цель - отслеживать любые изменения в модели, в которой хранится значение диапазона дат, и сохранять его для вызова AJAX позже.Я сталкиваюсь с той же проблемой, когда дважды происходит событие, когда меняется дата, даже если я выбираю «Сегодня»: Когда это объект со свойствами startDate и endDate, а в другой раз это строка .

Это может быть использовано в качестве преимущества.

    $scope.$watch(
    'rangeOfDate',
    function (newValue) {
        // Due to a known bug of open source library daterangepicker, the event is hit twice 
        //upon change. Once it is an object, and once it is a string. So, use appropriately.
        var selectedDateRange = new Object();
        if (typeof (newValue) == 'object') {
            selectedDateRange.startDate = new Date(newValue.startDate).toLocaleDateString();
            selectedDateRange.endDate = new Date(newValue.endDate).toLocaleDateString();
            //Do as you wish with this custom object
        }
        else if (typeof (newValue) == 'string') {
            alert("string");
        }               
    },
    false);
0 голосов
/ 04 мая 2012

попробуйте

$(document).ready(
 function(){
 $('#datePicking')
   .daterangepicker({
   arrows:true,
   onClose : function(){
       $('#Viewer')
       alert('ok');
    }
   }); 
});
...