2014-05-09 15 views
2

我試圖找出我的日曆中的所有日子是否有ID,因爲我打算在當天訪問我的數據庫中的文檔。我的問題是,只有一個ID被分配給表列,並且在多次嘗試之後點擊它以增加我收到的警報消息的數量......我錯過了什麼/錯在哪裏?天分配ID到表列並添加點擊功能

$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++; 
} 

JavaScript來檢查我是否有

PHP的日曆部分其他的ID被分配

function displayDocuments(){ 
    $('#day1').click(function(){ 
     alert('day 1!'); 
     }); 
    $('#day2').click(function(){ 
     alert('day 2!'); 
     }); 
} 
+1

你如何引用你的HTML中的id屬性的值,然後再試一次? –

+0

哇...沒有添加引號就會解決這個問題,因爲我以爲我只需要名稱之間用空格分隔的名字......謝謝 – user3580218

+0

雖然我想知道爲什麼警告消息仍然重複多次 – user3580218

回答

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); 
    }); 
}); 

可能的輸出:

  • DAY1 - 第1天存在
  • DAY2 - DAY2存在

如果它提醒DAY1,第2天,等你知道的ID被設置在特定的一天,如果不警惕它;你知道它沒有設置。

因爲您使用PHP我無法在JSFiddle上顯示您,但我希望這可以幫助您檢查每天是否有ID。

+0

我不知道每個功能......這很方便。儘管由於某種原因,$(this).id每當我嘗試時都返回undefined,因此爲什麼我只指定了ID的 – user3580218

+0

啊因爲你的PHP不對,讓我改變我的答案。 –

+0

您沒有設置ID號,'id = day'。$ list_day.''與id = day1相同,沒有被引用。將它更改爲:'id =「day'。$ list_day。'」'這與id =「day1」相同。 –