jQuery UI datepicker: getDate для добавления выбранной даты? - PullRequest
0 голосов
/ 16 ноября 2010

У меня есть свой указатель даты в пользовательском интерфейсе, и я попытался включить, чтобы добавить дату, которую вы выбрали внутри #viewCalender:

        $(function() {
    $('#rangeA').daterangepicker({
        arrows: true, 
        onClose: function(event) {
            $('#calenderView').prepend('Ok!');
        },
        onSelect:
         function(){
            var day1 = $("#rangeA").datepicker('getDate').getDate();                  
            var month1 = $("#rangeA").datepicker('getDate').getMonth() + 1;             
            var year1 = $("#rangeA").datepicker('getDate').getFullYear();
            var fullDate = year1 + "-" + month1 + "-" + day1;
             $('#calenderView').prepend(fullDate);
            }
    });
});

Но при выборе даты ничего не происходит.Что здесь не так?

    onClose:
     function(){

        var date = $(".range-start").datepicker('getDate');
        var dateEnd = $(".range-end").datepicker('getDate');
        if(date != null){
            if(dateEnd != null){
            var day2 = dateEnd.getDate();
            var month2 = dateEnd.getDate();
            var year2 = dateEnd.getDate();
            var fullDate2 = year2 + "-" + month2 + "-" + day2;
            }else{
            var fullDate2 = 0;
            }
        var day1 = date.getDate();                  
        var month1 = date.getMonth() + 1;             
        var year1 = date.getFullYear();
        var fullDate = year1 + "-" + month1 + "-" + day1;
        $.ajax({
        url: "misc/getCalender.php",
        type: "POST",
        data: { dateStart: fullDate, dateEnd: fullDate2 },
        success: function(response){
        alert('passed: ' + fullDate + ' - '+ fullDate2);
            }
        });
    }
    }

Ответы [ 2 ]

5 голосов
/ 16 ноября 2010

Вместо onSelect, событие onChange, просто измените свой код, чтобы использовать эту опцию, и у вас все будет готово. Кроме того, дата сохраняется не в #rangeA, а в другом наборе вводимых данных, .range-start и .range-end соответственно (да ... в настоящее время на странице не может быть более одного).

Вы можете проверить это здесь , обратите внимание, что onChange также срабатывает дважды за выбор ... это не должно быть проблемой, когда вы используете результат для замены значения вместо предварительного добавления это (в результате чего несколько prepends).

0 голосов
/ 16 ноября 2010

Используя http://www.filamentgroup.com/lab/date_range_picker_using_jquery_ui_16_and_jquery_ui_css_framework/ в качестве документации для этого плагина, я не вижу никакого использования onSelect, кроме как в комментариях. Похоже, вы должны поместить этот код onSelect в функцию onClose, которая будет срабатывать при выборе даты.

...