我正在开发一个php项目,我有一个日历和一些来自数据库的日期。当我从日历中选择日期时,来自数据库的数据会突出显示。但这并不适用于所有日期。通过javascript我可以添加背景颜色但不显示。 我是从javascript做的。
这是我的javaScript代码
<script type="text/javascript">
var cal_1 = new Calendar({
element: 'calendar_1',
inline: true,
months: 3,
dateFormat: 'm/d/Y',
onSelect: function (element, selectedDate, date, cell) {
debugger;
var sd =selectedDate.split("/");
var newdate = sd[2]+"-"+sd[1]+"-"+sd[0];
var startDate = "startDate";
var count = document.getElementById('countResult').value;
for(var i=1; i<= count;i++)
{
var start_date = document.getElementById(startDate+i).value;
var month = sd[0]-1;
var selectedDate = new Date(ss[2],month,ss[1]);
var splittedDate = start_date.split("-");
var startDateInTextBox = new Date(splittedDate[0],splittedDate[1]-1,splittedDate[2]);
if(selectedDate.valueOf() === startDateInTextBox.valueOf())
{
document.getElementById("tr_id"+i).style.backgroundColor = "lightGreen";
}
else
{
document.getElementById("tr_id"+i).style.backgroundColor = "#FFFFFF";
}
}
document.getElementById('date_1').value = newdate;
}
});
</script>
但是当我检查我的HTML时,我可以看到背景颜色已添加到tr但它不显示颜色。 有人可以帮助我。
提前致谢。
答案 0 :(得分:3)
TR充满了TD,颜色不可见(在TD之后)。使用以下:
if (selectedDate.valueOf() === startDateInTextBox.valueOf())
{
var tr = document.getElementById("tr_id"+i);
var tds = tr.children;
for (var i = 0; i < tds.length; i++) {
var td= tds[i];
td.style.backgroundColor = "lightGreen";
}
}