大佬教程收集整理的这篇文章主要介绍了以2位数年份输入时,Bootstrap Datepicker默认为1900,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
最近我有一个用户请求允许它也可以使用键盘.我删除了readonly属性以允许用户在输入字段中输入日期.日期格式设置为“mm / dd / yyyy”.
当我输入像今天这样的日期时,比如这个“12/11/13”那么它将默认为1913.这不是一个大问题,因为我可以训练用户使用4位数,但我宁愿只有它默认为本世纪.
注意:这似乎只发生在4位数年份的日期格式.这似乎也在Stefan代码的新分支中以相同的方式发生.
注意:我使用的是Bootstrap 2.0.4.我正在测试Firefox.
这是它的样子:
您可以尝试调整datepicker源代码,但这可能太复杂了.
从我在http://www.eyecon.ro/bootstrap-datepicker/可以看到,没有为可选日期设置范围的选项,但您可以将格式更改为使用两位数年份.
在您的屏幕截图中,我可以看到,您使用的是“到达日期”的日期选择器,我认为这是将来的.在网站上有一个关于如何禁用过去日期的示例.
我希望有所帮助.
UPDATE
我已经为你的问题写了一个事件处理程序,应该可以解决这个问题.
Javascript于http://jsfiddle.net/pCYbd/1/
$("#dp").datepicker(); $("#dp").on("keyup",function(e) { var date,day,month,newYear,value,year; value = e.target.value; if (value.search(/(.*)\/(.*)\/(.*)/) !== -1) { date = e.target.value.split("/"); month = date[0]; day = date[1]; year = date[2]; if (year === "") { year = "0"; } if (year.length < 4) { newYear = String(2000 + parseInt(year)); $(this).datepicker("setValue","" + month + "/" + day + "/" + newYear); if (year === "0") { year = ""; } return $(this).val("" + month + "/" + day + "/" + year); } } });
CoffeeScript于http://jsfiddle.net/pCYbd/2/年
$("#dp").datepicker() $("#dp").on "keyup",(e) -> value = e.target.value if value.search(/(.*)\/(.*)\/(.*)/) != -1 date = value.split("/") month = date[0] day = date[1] year = date[2] year = "0" if year == "" if year.length < 4 newYear = String(2000 + parseInt(year)) $(@).datepicker("setValue","#{month}/#{day}/#{newYear}") year = "" if year == "0" $(@).val("#{month}/#{day}/#{year}")
我的JavaScript技能不是最好的,但这应该有效.
以上是大佬教程为你收集整理的以2位数年份输入时,Bootstrap Datepicker默认为1900全部内容,希望文章能够帮你解决以2位数年份输入时,Bootstrap Datepicker默认为1900所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。