2014-02-23 55 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,我已將它添加到答案中 –