jQuery datepicker - 更新值

时间:2013-01-25 19:30:35

标签: jquery datepicker

我的日期选择工作效果很好,但只要选择/更改“#todate”日期,我只需要用所选日期更新a(#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插件执行此操作的功能。

2 个答案:

答案 0 :(得分:2)

您需要为textbox编写onchange函数:

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

这是jsfiddle

答案 1 :(得分:0)

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

Fiddle work

  1. 将一些id添加到span。

    <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
    
  3. 最终功能变为:

    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'
    });