我正试图找出日历中的所有日子是否都有ID,因为我计划在数据库中的那天访问文档。我的问题是,只有一个ID被分配给表列,并在多次尝试后单击它,增加了我得到的警报消息的数量……我错过了什么/做错了什么?
Php日历部分
$list_day = 1;
while($list_day <= $days_in_month){
$calendar.= '<td class="calendar-day">';
/* add in the day number */
$calendar.= '<div class="day-number" id = "day'.$list_day.'" onclick = displayDocuments()>'.$list_day.'</div>';
/** QUERY THE DATABASE FOR AN ENTRY FOR THIS DAY !! IF MATCHES FOUND, PRINT THEM !! **/
$calendar.= str_repeat('<p> </p>',2);
$calendar.= '</td>';
if($running_day == 6){
$calendar.= '</tr>';
if(($day_counter+1) != $days_in_month){
$calendar.= '<tr class="calendar-row">';
}
$running_day = -1;
$days_in_this_week = 0;
}
$days_in_this_week++;
$running_day++;
$day_counter++;
$list_day++;
}
检查是否有其他ID被分配的Javascript
function displayDocuments(){
$('#day1').click(function(){
alert('day 1!');
});
$('#day2').click(function(){
alert('day 2!');
});
}
检查这一点可以通过循环到每天的类来完成,在您的示例中:day-number
。然后通知id查看它是否存在。
$calendar.= '<div class="day-number" id="day'.$list_day.'">'.$list_day.'</div>';
jQuery: $(document).ready(function() {
$(".day-number").each(function() {
var currentid = $(this).attr("id");
alert(currentid);
});
});
可能的输出:
- day1 - day1存在
- day2 - day2存在
如果它提醒day1, day2等,你知道ID是在特定的日子设置的,如果它不提醒它;你知道它没有设置。
因为你使用的是PHP,所以我不能在JSFiddle上展示,但我希望这能帮助你检查是否每天都有一个ID