2013-08-30 95 views
0

如何更改日期选择器上的日期“#to”dd.mm.yy.现在写mm/dd/yy。 如果我改变/。正确的计算和ID我更改(d.getMonth() + 1) + '/' + d.getDate() + '/' + d.getFullYear();(d.getDate() + '/' + d.getMonth() + 1) + '/' + d.getFullYear();不工作。日期选择器更改日期格式

这里是代码:

$(function() { 
    $('#to').attr('disabled', true); 
    $("#from").datepicker({ 
     dateFormat: 'dd.mm.yy', 
     onSelect: function (selectedDate) { 
      var x = selectedDate.split('.'); 
      var d = new Date(x[1] + ',' + x[0] + ',' + x[2]); 
      var res = d.setDate(d.getDate() + 7); 
      var dateMsg = (d.getMonth() + 1) + '/' + d.getDate() + '/' + d.getFullYear(); 
      $("#to").removeAttr('disabled').removeClass('hasDatepicker').datepicker({ 
       minDate: dateMsg 
      }); 
     } 
    }); 
}); 

和HTML:

<label for="from">From</label> 
<input type="text" id="from" name="from" /> 
<br/> 
<label for="to">to</label> 
<input type="text" id="to" name="to" /> 

这里是所有代码:http://jsfiddle.net/JBrvn/4/

回答

1

为什么不直接设置在小部件被初始化的日期格式 - 还我已重新设计了解决方案

$(function() { 
    var dateFormat = 'dd.mm.yy'; 

    $("#from").datepicker({ 
     dateFormat: dateFormat, 
     onSelect: function (selectedDate) { 
      var date = $.datepicker.parseDate(dateFormat, selectedDate) 
      var tod = date.setDate(date.getDate() + 7); 
      $to.prop('disabled', false).datepicker("option", "minDate", new Date(tod)); 
     } 
    }); 
    var $to = $("#to").datepicker({ 
     dateFormat: dateFormat 
    }).prop('disabled', true); 
}); 

演示:Fiddle

+0

试穿(http://jsfiddle.net/JBrvn/4/)。不正确的计算日期。返回不正确的月份和年份。 –

+0

@NejcGalof检查更新的解决方案....我打算重新设计解决方案 –

+0

我不能在'$(“#from”)中使用'dateFormat:'dd.mm.yy''。datepicker'因为don在里面工作我的其他代码。另一种方式? –

1

DEMO

$(function() { 
    $('#to').attr('disabled', true); 
    $("#from").datepicker({ 
     dateFormat: 'dd.mm.yy', 
     onSelect: function (selectedDate) { 
      var x = selectedDate.split('.'); 
      var d = new Date(x[1] + ',' + x[0] + ',' + x[2]); 
      var res = d.setDate(d.getDate() + 7); 
      var dateMsg = d.getDate() + '.' + (d.getMonth() + 1) + '.' + d.getFullYear(); 
      $("#to").removeAttr('disabled').removeClass('hasDatepicker').datepicker({ 
       minDate: dateMsg, 
       dateFormat: 'dd.mm.yy' 
      }); 
     } 
    }); 
}); 
1

你必须在minDate属性转换为Date对象,而不是一个字符串。您将从设置日期获得的字符串将成为毫秒值,并且不能由日期选择器呈现。所以只是投的价值,它应该只是罚款

$('#to').attr('disabled', 'disabled'); 
$("#from").datepicker({ 
    dateFormat: 'dd.mm.yy', 
    minDate: new Date(), 
    onSelect: function (selectedDate) {    
     var x = selectedDate.split('.'); 
     var d = new Date(x[1] + ',' + x[0] + ',' + x[2]); 
     var res = d.setDate(d.getDate() + 7); 
     $("#to").removeAttr('disabled').datepicker({ 
     dateFormat: 'dd.mm.yy', 
     minDate: new Date(res)     
    }); 
    } 
}); 
+0

我不能使用'dateFormat:'dd.mm.yy' 'in'$(“#from”)。datepicker'因为我的其他代码不工作。 –

+0

好的,你可以删除它。我保持这一点只是为了一致:) – achakravarty

相关问题