2012-07-13 58 views
0

我有一個自定義日曆,我創建基本上只是爲每個月的每一天創建一個表格單元格。設置值onClick表單元格

我想要做的是,當用戶點擊某一天,顯示一個彈出窗口(將加載一個單獨的頁面),顯示所選日期的所有事件。

但是我不確定如何設置所選日期的值,以便我可以將它傳遞到彈出頁面。

這裏是我的時刻:

<td align="center" valign="middle" width="26" height="27s" 
    class="lightBlue dayPopup" style="cursor: pointer;" 
    onMouseOver="javascript:this.className='lightBlueH'; 
        document.getElementById('#Request.calID#day#Day(Variables.cellDate)#').style.visibility='visible';" 
    onMouseOut="javascript:this.className='lightBlue'; 
       document.getElementById('#Request.calID#day#Day(Variables.cellDate)#').style.visibility='hidden';" 
    onClick="setDate(#Variables.cellDate#);" id="#Variables.cellDate#"> 

jQuery代碼:

$("##setDate").click(function(date) { 
     var viewDate = date; 
    }); 

我然後設置URL傳遞到控制彈出一個函數的變量。

有人可以請我指出我要去的地方的錯誤方向,試圖設置所選日期的值嗎?

+0

僅供參考'onMouseOver'或'onMouseOut'或任何其他事件不需要'的JavaScript:'在代碼之前添加。所以你可以刪除它們。 'javascript:'適合在鏈接的'href'中使用 – Imdad 2012-07-13 11:48:07

回答

1

你需要利用下面代碼中的「this」的力量來引用被點擊的單元格。

$("td.yourCalendarCells").click(function() { 
      var viewDate =  getDateFromCell(this); 
    }); 


function getDateFromCell(cell){ 
    return $(cell).attr('id') 
} 

我不知道你的ID屬性是什麼格式,或者您是如何存儲viewDate,所以你可能需要做一些更加getDatefromCell返回的日期回來,但你應該有足夠的工作現在出來了。

1

您主要想要將日期發送到彈出頁面以顯示該日期的事件。它很容易 您可以在http://jsfiddle.net/DQ3Bm/

使用標籤用於保持連接到該元素的DETE /時間的方法,但仍然只顯示日期部分用戶。

<table class="event-calendar"> 
    <tr> 
     <td> 
      <time datetime="2013-01-01">1</time> 
     </td> 
     <td> 
      <time datetime="2013-01-02">2</time> 
     </td> 
    </tr> 
</table> 

然後在td的點擊就可以獲取日期傳遞給彈出網址

$(document).ready(function(){ 
    $(".event-calendar td").click(function(){ 
     alert($(this).find("time").attr("datetime")); 

    }); 
}); 
+0

這聽起來可能完全愚蠢,但我還沒有使用HTML5時間標籤,並且想知道如何將該屬性設置爲日曆日期? – CPB07 2012-07-13 13:40:28

+0

而不是使用我不確定的

+0

http://jsfiddle.net/j7dSW可能會幫助更多 – CPB07 2012-07-13 14:46:37