在前端开发中,JSON(JavaScript 对象表示法)的语法规范兼容性是老旧浏览器(IE6/IE7)的高频坑点。使用 jQuery UI Datepicker 实现签到日历功能时,IE8/IE9、Firefox、Chrome 等浏览器表现正常,但 IE6/IE7 及 IE8 兼容视图下报 “缺少标识符、字符串或数字” 错误,核心原因是JSON 对象最后一个键值对末尾多余的逗号—— 现代浏览器会容错这种语法不规范的写法,但 IE6/IE7 的 JavaScript 引擎对 JSON 语法校验更严格,多余逗号会被判定为语法错误,直接阻断代码执行。
var obj = {
'name': 'qqyumidi',
'gender': 'male' //此处不能加上, !!
}
alert(obj.name);
补充解决方案说明:
<!-- 引入相应的jquery的UI文件 -->
<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.7.1.min.js"></script>
<!-- 引入此js文件将日历中内容转化成中文 -->
<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery.ui.datepicker-zh-CN.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-ui-1.8.18.custom.min.js"></script>
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/css/ui-lightness/jquery-ui-1.8.18.custom.css">
补充说明:
<div class="demo">
<p>Date:<input type="text" id="datepicker"></p>
</div>
<script type="text/javascript">
$(function() {
//插件的调用
$("#datepicker").datepicker({
//在这里进行插件的属性设置
});
});
</script>
补充说明:
<div class="demo">
<p>Date: <input type="text" id="datepicker">
<input type="text" id="alternate" size="30"/></p>
</div>
$(function() {
$( "#datepicker" ).datepicker({
altField: "#alternate",
altFormat: "DD, d MM, yy"
});
});
补充说明:
效果截图:
$(function() {
$( "#datepicker" ).datepicker();
$( "#anim" ).change(function() {
$( "#datepicker" ).datepicker( "option", "showAnim", $( this ).val() );
});
});
补充说明:
[javascript] view plaincopyprint?
$( "#datepicker" ).datepicker({
showButtonPanel:true
});
补充说明:
如图可以看到面板下方有两个按钮:点击 “今天” 会跳到今天的日期,点击 “关闭” 会关闭面板。

$( "#datepicker" ).datepicker({
dateFormat:"yy/mm/dd"
});
补充说明:
效果截图:

补充说明:
其中标题栏的月份或者年份会出现下拉菜单的形式:

$( "#datepicker" ).datepicker({
changeYear: true,
yearRange:"2011:2012"
});
补充说明:

$( "#datepicker" ).datepicker({
numberOfMonths: 3
});
补充说明:
上面指定 numberOfMonths 为 3,那么弹出的日历面板就会显示当前以及以后两个月,如图:

$( "#datepicker2" ).datepicker({
showOn: "both",
buttonText:"日历按钮"
});
补充说明:
效果截图:

$( "#datepicker" ).datepicker({
showOn: "button",
buttonImage: "images/calendar.gif",
buttonImageOnly: true
});
补充说明:
效果截图:
$(function() {
$( "#datepicker" ).datepicker({
//表示以当天为准,只有在20天之前和10天之后的日期之间的时间可以选择
minDate: -20,
maxDate: "+10D"
});
});
补充说明:
如下图在 7 号之前都不可选择(当前日期为 27):

正在加载... ...