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

Joh*_*son 0 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);
            }
    });
});
Run Code Online (Sandbox Code Playgroud)

但是当我选择日期时没有任何反应.这有什么不对?

    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);
            }
        });
    }
    }
Run Code Online (Sandbox Code Playgroud)

Nic*_*ver 5

而不是onSelect,事件是onChange,只需更改您的代码以使用该选项,您应该全部设置.另外,日期不保存在#rangeA,但另一组输入它创建,.range-start.range-end分别(是的......你不能有一个以上的页面上当前).

你可以在这里测试一下,注意onChange每次选择也会触发两次......当你使用结果来替换一个值而不是在它之前添加它(导致多个prepends)时,这应该不是问题.