【发布时间】:2016-01-28 13:52:50
【问题描述】:
我刚刚开始在某个网站上工作,一些开发人员以前在该网站上工作过。他在其中一个网页中实现了 Datepicker 小部件。
当我浏览这个实现的代码时,我不明白代码的实际作用是什么?我无法弄清楚逻辑的编写方式。
我还浏览了 Datepicker 小部件的 jQuery UI API 文档中关于函数 'beforeShowDay' 和 'onSelect' 但也找不到那里的线索,所以寻求帮助让我理解以更简单和描述性的方式编写以下代码。
谁能用简单明了的语言让我理解函数'beforeShowDay'和'onSelect'在以下实现中的用法?
HTML 代码:
<div class="col-md-2 voffset2 rightpad">
<div class="col-sm-3">
<div id="datepicker"></div>
</div>
</div>
Javascript 代码:
<script type="application/javascript">
$(document).ready(function() {
/******* Display Calender and events highlighted *******/
/*Not understood what does below array variable has role to play */
var myDates = $.parseJSON('["1969-12-31","1969-12-31","1969-12-31","1969-12-31","1969-12-31","1969-12-31","1969-12-31","1969-12-31","1969-12-31","1969-12-31","1969-12-31","1969-12-31","1969-12-31","1969-12-31","1969-12-31","1969-12-31"]');
$( "#datepicker" ).datepicker({
beforeShowDay: function(date) {
var dateObj = new Date(date);
var month = dateObj.getMonth() + 1;
if(month < 10) {
month = "0"+month;
}
var day = dateObj.getDate();
if(day < 10) {
day = "0"+day;
}
var year = dateObj.getFullYear();
thisdate = year + "-" + month + "-" + day;
if($.inArray(thisdate, myDates) != -1) {
return [true, 'eventDateCls', ''];
} else {
return [true, '', ''];
}
},
onSelect: function(dateText, inst) {
var dateAsString = dateText;
console.log(dateAsString);
url = "http://localhost/CKWEB_28-12-2015/ajax_event.php";
$.ajax({
url: url,
type: "POST",
data: {event_date:dateAsString},
beforeSend: function() {
$('#loader-icon').show();
},
complete: function() {
$('#loader-icon').hide();
},
success: function(data) {
$("#eventListing").html(data);
$('#loader-icon').hide();
},
error: function(){}
});
}
});
/******* Display Calender and events highlighted *******/
});
</script>
【问题讨论】:
标签: javascript jquery jquery-ui datepicker jquery-widgets