2011-06-10 34 views
0

我需要從jstl傳遞一個對象到一個Jquery點擊處理程序。jquery使用對象

我的用戶界面顯示一個樹結構。構成樹的節點使用名稱屬性,該屬性是顯示給用戶的值。該名稱屬性取自「節點」對象。有沒有什麼辦法可以將「node」對象傳入我的jquery函數中,當點擊樹的其中一個節點時?

我JSTL看起來像這樣

<c:forEach var="node" items="${object.childItems}"> 
<li> 
     <a href="#" class="node"><c:out value="${node.name}"/></a> 
    <c:set var="node" value="${node}" scope="request"/> 
    <jsp:include page="child.jsp"/> 
</li> 
</c:forEach> 

然後我必須附在「.node」類中的每個HREF的jQuery的單擊事件。當單擊href時,我希望能夠訪問我的Jquery點擊處理程序中「節點」中的所有值。做這個的最好方式是什麼?謝謝

回答

1

根據你想要做什麼,你有幾個選項可用?

  1. 可存儲節點值在HTML作爲IDS /隱藏字段或使用Data attributes那麼當我們單擊事件處理程序你使用jQuery選擇建立一個JSON對象。
  2. 您可以只存儲該節點的ID,然後向可以返回JSON對象的服務器發出Ajax請求。

我通常使用選項1,如果我已經在頁面上顯示了該對象所需的所有數據,以減少服務器調用次數。

或者選項2如果對象有多餘的字段需要訪問但不需要顯示在列表中以減少HTML頁面中的膨脹。

+0

謝謝。我想避免使用隱藏字段,因爲我有很多值,但它仍然提供了更快的解決方案,然後在每次單擊時返回到服務器。 – cduggan 2011-06-10 10:29:48

+0

然後使用jQuery數據屬性 – Daveo 2011-06-10 12:20:47