将ID分配给表列并添加单击功能

时间:2014-05-09 08:01:19

标签: javascript php jquery

我正在尝试查看日历中的所有日子是否都有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!');
        });
}

1 个答案:

答案 0 :(得分:1)

在您的示例中,可以通过循环到每天所拥有的类来检查这一点: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);
    });
});

可能的输出:

  • 第1天 - 第1天存在
  • 第2天 - 第2天存在

如果它提醒第1天,第2天等,您知道该ID是在特定日期设置的,如果它没有提醒它;你知道它没有设置。

因为您使用的是PHP,我无法向您展示JSFiddle,但我希望这可以帮助您检查每天是否有ID。