2011-11-17 26 views
1

遇到與我的問題相同的任何人,其中,即使用戶已經通過IE選擇了一個日期,JQuery日曆仍會彈出。有什麼解決方案來解決這個問題?..因爲在其他瀏覽器,如FF,Chrome,Safari,jQuery的日曆工作。 這裏是簡單的代碼,我在我所有的日期輸入字段使用如何解決IE瀏覽器上的jQuery日曆?

$(function(){ 
    $('#datepicker').datepicker({changeYear: true,changeMonth: true,yearRange:'1940:2011',defaultDate:+7}); 
}) 
+0

還沒有經歷過這樣的事情。你可以在這裏發佈你的代碼來檢查嗎? – andrew

+0

請發佈您的代碼 – Ghostman

+0

我發佈了我的簡單代碼 – sasori

回答

0

jQuery的日期選擇器增加了一個新的屬性,在IE的DOM元素。如果您嘗試從現有元素動態複製添加新的DOM元素,那麼datepicker將無法在IE中工作,因爲新添加的DOM元素引用了舊的jQuery屬性。解決這個問題的一種方法是刪除該屬性,然後在元素上實例化datepicker類。請參閱下面的代碼以獲得修復。

//newDiv is the new added dom element with innerHTML 
jQuery("#newDiv").find(".datePicker").each(function() { 
//removing jquery added attribute as this is causing the dynamically 
// added DOM elem referring old DOM element from it is copied. 
if (jQuery.browser.msie) { 
    var jqaddedattr; 
    jQuery(this.attributes).each(function() { 
     if (this.name.search(/jQuery/) != -1) { 
      jqaddedattr = this; 
     } 
    }); 
    if (jqaddedattr) { 
     jQuery(this).removeAttr(jqaddedattr.name); 
    } 
} 
jQuery(this).datepicker({yearRange: '-100:+10', changeFirstDay:false}).val("").trigger('change'); 
}) 
+0

任何其他解決方案(s)?..它沒有工作:( – sasori