jQuery UI datepicker:getDate预先添加所选日期?

时间:2010-11-15 21:55:18

标签: jquery jquery-ui jquery-plugins jquery-ui-datepicker

我有我的UI datepicker,并尝试使用onSelect来预先设置你在#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 个答案:

答案 0 :(得分:5)

而不是onSelectthe event is onChange,只需更改代码即可使用该选项,您应该全部设置。此外,日期不会存储在#rangeA中,而是存储在其中的另一组输入,.range-start.range-end(是的...您在页面上不能有多个输入目前)。

You can test it here,请注意onChange每次选择也会触发两次......当您使用结果替换值而不是预先设置值时,这不应该是一个问题(导致多个前缀。)

答案 1 :(得分:0)

使用http://www.filamentgroup.com/lab/date_range_picker_using_jquery_ui_16_and_jquery_ui_css_framework/作为此插件的文档,除了评论之外,我没有看到onSelect的任何使用。看起来你应该把onSelect代码放在onClose函数中,当选择日期时会触发它。

相关问题