jQuery UI datepicker 日期控件出现问号的解决方式

China☆狼群 提交于 2019-12-07 09:09:52

jQuery-ui的datepicker做得很不错,在项目中经常用到,但对其老是在界面上出现 “?” 感觉很不爽。出现的位置在顶部年和月之间,还有空的日期单元格

这个问题困扰了我很长时间,一直想解决,但又没有时间。今天终于找到了问题的答案!

之前认为是页面或库的编码问题,但反复修改后没有解决问题,于是肯定了datepicker本身的问题。查看源代码发现了问题所在,不过此问题已经在 jquery-ui-1.8.21.custom.min.js 中得到了修正。但在 jquery-ui-1.8.19.custom.min.js 版本中存在此问题(之前版本也有可能),可以修改对应部分。以下是两个版本就此问题的差异部分:

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

(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不支持,在这里最好用" "替换。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!