1

a我的日期选择器效果很好,但只要选择/更改“#todate”日期,我只需要使用所选日期更新(#daterange) 标记:

小提琴:http: //jsfiddle.net/5HQeg/

$(function () {

    var picker_from = $( '#fromdate' ).pickadate({
        onSelect: function() {
            var fromDate = createDateArray( this.getDate( 'yyyy-mm-dd' ) )
            picker_to.data( 'pickadate' ).setDateLimit( fromDate )
        },
        format: 'mmm dd, yyyy',
        formatSubmit: 'yyyy-mm-dd'
    });
    var picker_to = $( '#todate' ).pickadate({
        onSelect: function() {
            var toDate = createDateArray( this.getDate( 'yyyy-mm-dd' ) )
            picker_from.data( 'pickadate' ).setDateLimit( toDate, 1 )
        },
        format: 'mmm dd, yyyy',
        formatSubmit: 'yyyy-mm-dd'
    });
    function createDateArray( date ) {
        return date.split( '-' ).map(function( value ) { return +value })
    };

});

我找不到使用此 datepicker 插件执行此操作的功能。

4

2 回答 2

2

您需要为文本框编写 onchange 函数:

$('#todate').change(function () {
    $('.daterange').text($('#fromdate').val() + '-' + $(this).val());
});

这是jsfiddle

于 2013-01-25T19:45:36.210 回答
0

我不确定如何格式化日期,但是要将它们放在a标签中,这就是我所做的:

小提琴工作

  1. id在 span 中添加一些s。

    <a href="#" class="daterange"><span id="numfrom">Dec 21, 2012 </span>-<span id="numto"> Jan 20, 2013</span></a>
    
  2. 编辑onSelect函数并将其附加:

    $('#numfrom').text(fromDate); // For the fromDate section
    

最终函数变为:

var picker_from = $('#fromdate').pickadate({
    onSelect: function () {
        var fromDate = createDateArray(this.getDate('yyyy-mm-dd'));
        picker_to.data('pickadate').setDateLimit(fromDate);
        $('#numfrom').text(fromDate);
    },
    format: 'mmm dd, yyyy',
    formatSubmit: 'yyyy-mm-dd'
});
var picker_to = $('#todate').pickadate({
    onSelect: function () {
        var toDate = createDateArray(this.getDate('yyyy-mm-dd'));
        picker_from.data('pickadate').setDateLimit(toDate, 1);
        $('#numto').text(toDate);
    },
    format: 'mmm dd, yyyy',
    formatSubmit: 'yyyy-mm-dd'
});
于 2013-01-25T19:45:10.447 回答