为表列分配ID's,并添加单击功能


Assigning ID's to table column and adding a click function

我正试图找出日历中的所有日子是否都有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查看它是否存在。

HTML:

$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