我有一个脚本。jQuery datepicker。
<script>
$(function() {
$('#datepicker').datepicker({
beforeShowDay: daysToMark,
onSelect: function(date,evt){
if (evt.currentMonth < 10){
evt.currentMonth = "0"+evt.currentMonth;
}
if (evt.currentDay < 10){
evt.currentDay = "0"+evt.currentDay;
}
daysToMark(evt.currentYear+"-"+evt.currentMonth+"-"+evt.currentDay);
date.dpDiv.find('.ui-datepicker-current-day a')
.css('background-color', '#000000');
}
});
});
<?
$dateArray = array();
$sql = mysql_query("SELECT *
FROM module_news
");
while ($row = mysql_fetch_array($sql)) {
array_push($dateArray,$row["tarigi"]);
}
?>
var js_array = new Array();
js_array = <?=json_encode($dateArray);?>;
var dates = js_array;
function daysToMark(evt) {
if($.inArray(evt, js_array) != -1 )
{
window.open("index.php?action=news_archive&date="+evt+"&lang=<?=$lang?>", "_self");
}
return [true, "", ""];
}
</script>
我在数组中有数据库日期链接,我想突出显示链接,所以当我在2011-07-08在我的日历上写新闻时,它将被链接但不突出显示,我怎么能改变链接日期的背景颜色?
谢谢
在daysToMark
方法中,您根据beforeShowDay
事件的要求返回return [true, "", ""];
。
数组中的第二个位置包含一个将应用于该数据的类。所以如果你在这里添加一个类return [true, "linked", ""];
并在css代码中设置一个规则
.linked .ui-state-default{
background-color:red;
background-image:none; /*this in case the them you use uses background images*/
}
它应该做你想做的…
demo at http://jsfiddle.net/gaby/S79fa/
替换此行
date.dpDiv.find('.ui-datepicker-current-day a')
.css('background-color', '#000000');
以下代码
var atag = date.dpDiv.find('.ui-datepicker-current-day a');
atag.queue(function() {
atag.css("background-color", "black");
});
这可能有帮助
谢谢。