jQuery UI datepicker 日期控件出現問號的解決方式

jQuery-ui的datepicker作得很不錯,在項目中常常用到,但對其總是在界面上出現 「?」 感受很不爽。出現的位置在頂部年和月之間,還有空的日期單元格jquery

這個問題困擾了我很長時間,一直想解決,但又沒有時間。今天終於找到了問題的答案! ui

以前認爲是頁面或庫的編碼問題,但反覆修改後沒有解決問題,因而確定了datepicker自己的問題。查看源代碼發現了問題所在,不過此問題已經在 jquery-ui-1.8.21.custom.min.js 中獲得了修正。但在 jquery-ui-1.8.19.custom.min.js 版本中存在此問題(以前版本也有可能),能夠修改對應部分。如下是兩個版本就此問題的差別部分: this

1.標題部分

jquery-ui-1.8.19.custom.min.js 編碼

return l+=this._get(a,"yearSuffix"),k&&(l+=(f||!i||!j?"?":"")+m),l+="</div>",l
jquery-ui-1.8.21.custom.min.js
return l+=this._get(a,"yearSuffix"),k&&(l+=(f||!i||!j?"&#xa0;":"")+m),l+="</div>",l

2.日期部分

jquery-ui-1.8.19.custom.min.js spa

(bb&&!G?"?":bc?'<span class="ui-state-default">'+Y.getDate()+"</span>":'<a class="ui-state-default'+(Y.getTime()==b.getTime()?" ui-state-highlight":"")
jquery-ui-1.8.21.custom.min.js
(bb&&!G?"&#xa0;":bc?'<span class="ui-state-default">'+Y.getDate()+"</span>":'<a class="ui-state-default'+(Y.getTime()==b.getTime()?" ui-state-highlight":"")

 


注:&#xa0;是Unicode 和 ISO 8859-1的一種不間斷空格(Non-Breaking Space),ie6不支持,在這裏最好用" "替換。 code

相關文章
相關標籤/搜索