jQuery之日期选择器的深入解析

2020-05-23 06:20:44易采站长站整理

<script type=”text/javascript” src=”JS/jquery-1.4.2.min.js”></script>
<script type=”text/javascript” src=”JS/jquery.ui.core.js”></script>
<script type=”text/javascript” src=”JS/jquery.ui.datepicker.js”></script>
<script type=”text/javascript”>
$(document).ready(function(){
 /* 有日志的日期集合 */
 var hasLog=[{ month:10,  day:1 },
    { month:10, day:5 },
    { month:10, day:20 }];
 function hasToday(date){
  /* 测试当前日期是否在集合中存在有相同项 */
  for(var i in hasLog){
   /* 因为js中的Date类型的月份取值范围是0-11,
    所以这里调用getDate()以后要加1才是当前月份 */
   if(hasLog[i].month == (date.getMonth()+1) &&
    hasLog[i].day == date.getDate()){
    return true;
   }
  }
  return false
 }
 $(“#datepicker”).datepicker({
  beforeShowDay : function(date){
   /* 在显示日期之前,
    测试如果当前日期在集合中存在,
    则为当前日期添加一个class */
   var dat = new Date(date);
   var css =”” ;
   if(hasToday(dat)){
    css=”light_day”;
   }
   return [true, css];
  },
  onSelect : function(dateText,inst){
   /* 在选中日期之后,
    测试如果当前日期在集合中存在,
    则向页面打印相应的提示信息 */
   var dat = new Date(dateText);
   if(hasToday(dat)){
    var msg=”得到了日期:” + dateText +
     “,我们可以在这里查询当前日期的日志列表”;
    $(“#logList”).text(msg);
   }
  }
 });
});
</script>
<style>
body{ padding:30px; }
*{ font-size:12px; }
#logList{ margin:10px 0; padding:8px; }
.light_day .ui-state-default{ background:#fdc; }
.light_day .ui-state-default:hover,
.light_day .ui-state-default:active{ background:#fed; }
</style>
</head>
<body>
<div id=”datepicker”></div>
<div id=”logList”></div>
</body>
</html>

效果图: