2014-02-23 117 views
2

我在使用jQuery datepicker小部件时遇到了一些麻烦。此代码按预期工作和警报(tempDate)返回DD-MM-yyyy格式的日期:jQuery Datepicker altField问题

$(document).ready(function() { 
    $("#datepicker").datepicker({ 
     //showOtherMonths: true, 
     //selectOtherMonths: true, 
     altField: "#alternate", 
     altFormat: "d-m-yy" 
    }); 
    $("#datepicker").datepicker("option", "dateFormat", "DD d MM, yy"); 
    $("#datepicker").change(function(){ 
     var tempDate = $("#alternate").val(); 
     alert(tempDate); 
    }); 
}); 

然而,当我在的minDate和的maxDate增加,警报(tempDate)没有返回值:

$(document).ready(function() { 
    $("#datepicker").datepicker({ minDate: -20, maxDate: +20 }); 
    $("#datepicker").datepicker({ 
     //showOtherMonths: true, 
     //selectOtherMonths: true, 
     altField: "#alternate", 
     altFormat: "d-m-yy" 
    }); 
    $("#datepicker").datepicker("option", "dateFormat", "DD d MM, yy"); 
    $("#datepicker").change(function(){ 
     var tempDate = $("#alternate").val(); 
     alert(tempDate); 
    }); 
}); 

下面是HTML:

<label>Date: </label><input type="text" id="datepicker" size="30"><input type="hidden" id="alternate" /> 

任何帮助将不胜感激。谢谢!

回答

4

您正在设置选项两次,因此您重写选项,尝试将其全部设置一次。

代码:

$("#datepicker").datepicker({ 
    minDate: -20, 
    maxDate: +20, 
    altField: "#alternate", 
    altFormat: "d-m-yy", 
    dateFormat: "DD d MM, yy" 
}); 

演示:http://jsfiddle.net/IrvinDominin/6Vk9E/2/

+1

比我更快。我会补充说'dateFormat'可以设置其他的一切。无需单独设置。我会链接一切,而不是再次选择'#datepicker'。 – toxalot

+0

@toxalot true,我已将它添加到答案中 –