2012-11-28 63 views
0

我的代碼在Chrome和Firefox瀏覽器工作正常。我無法使它在IE兼容模式下工作。如果我把它工作在IE maxDate: new Date(2012 AUG 28)但如果我給newDateString,改變個月是禁用的。 jsfiddle爲什麼不能接受日期選擇器我的日期字符串在IE 7

endDate = "2012-09-11"; 
var m_names = new Array("JAN", "FEB", "MAR", 
          "APR", "MAY", "JUN", "JUL", "AUG", "SEP", 
          "OCT", "NOV", "DEC"); 

var toDate = Date.parse(endDate) - 2592000000; 
var newToDate = new Date(toDate); 

newDateString = newToDate.getFullYear() + " " + m_names[newToDate.getMonth()] + " " + newToDate.getDate(); 

$('#datepicker').datepicker({ 
    showOn: "both", 
    maxDate: new Date(newDateString), 
    showAnim: "slide", 
    buttonImageOnly: true, 
    dateFormat: "yy-mm-dd", 
    onSelect: function(dateTxt, inst) { 
     $('#<DateForm').submit(); 
    }, 
    buttonText: "" 
}); 

$('#datepicker').datepicker("setDate", startDate); 

UPDATE

我修改代碼以使用$.datepicker.parseDate。我在IE中遇到錯誤。它工作在精細的鍍鉻和Firefox

newDateString = newToDate.getFullYear() + " " + m_names[newToDate.getMonth()] + " " + newToDate.getDate(); 

alert($.datepicker.parseDate('yy-mm-dd', newDateString)); 

消息:異常拋出沒有捕獲行:192字符:21310代碼:0

本地主機:80/jQuery的UI-1.8.18.custom。 min.js

回答

1

Date.parse識別的日期格式因實現而異。相反,使用$.datepicker.parseDate

http://docs.jquery.com/UI/Datepicker/parseDate的文檔。

下面是如何使用這個從日期減去30天:

var toDate = $.datepicker.parseDate('yy-mm-dd', endDate); 
toDate.setDate(toDate.getDate()-30); /* Subtract 30 days */ 
+0

OK,我曾嘗試使用'$ .datepicker.parseDate'我得到一個錯誤,在IE 7,請查看更新 – user525146

+0

我沒有看到問題的更新。 – Barmar

+0

對不起,我正在編輯更新。請參閱 – user525146

相關問題