码迷,mamicode.com
首页 > 其他好文 > 详细

Bootstap datetimepicker报错TypeError: intermediate value

时间:2016-11-30 11:30:36      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:字符串   timezone   this   变量   通用   bootstrap   date   官方   div   

Bootstrap datetimepicker有多个版本,官方的链接中,只是datepicker,没有时间的选择,原版的datetimepicker也不再更新,不能用新版的jquery。
现在https://github.com/Eonasdan/bootstrap-datetimepicker这个版本最完善,但是一大堆依赖很头疼;
https://github.com/smalot/bootstrap-datetimepicker还不错,比较轻巧,但是用起来报错。

报错:

  1. TypeError: (intermediate value).toString(...).split(...)[1] is undefined
  2.     
  3. ...d"?false:k.title;this.defaultTimeZone=(new Date()).toString().split("(


原文:

  1. this.defaultTimeZone=(new Date()).toString().split("(")[1].slice(0,-1);

意思为:先取得Date对象,然后再字符串化,再用(来分隔字符串,然后取其中的第二个,再从右向左取第一项,也就是取时区项。
但在Firefox中,字符串化的结果为:“Wed May 25 2016 16:07:14 GMT+0800”,没有括号,导致错误。

更为通用的,时区可以用getTimezoneOffset()来获取,这个结果的单位是分钟,所以要除以60才可以:
修改为:

  1. this.defaultTimeZone=‘GMT ‘+(new Date()).getTimezoneOffset()/60


修改后就可以正常使用了。



另外还有一个字体错误,如果使用了fa字体,则会报错,系统中会检测不到fontAwesome,所以可以直接赋这个变量为true:

  1. this.fontAwesome=k.fontAwesome||this.element.data("font-awesome")||false;

改为:

    1. this.fontAwesome=true

Bootstap datetimepicker报错TypeError: intermediate value

标签:字符串   timezone   this   变量   通用   bootstrap   date   官方   div   

原文地址:http://www.cnblogs.com/grimm/p/6116760.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!