JQuery работа с объектами - PullRequest
0 голосов
/ 10 июня 2011

Мне нужно передать объект из jstl в обработчик щелчков Jquery.

Мой пользовательский интерфейс отображает древовидную структуру.Узлы, составляющие дерево, используют свойство name, которое является значением, отображаемым для пользователя.Это свойство name взято из объекта "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>

У меня тогда естьсобытие jquery click, прикрепленное к классу ".node" каждого href.Когда нажата ссылка, я хочу иметь доступ ко всем значениям в "узле" в моем обработчике кликов Jquery.Каков наилучший способ сделать это?Спасибо

1 Ответ

1 голос
/ 10 июня 2011

У вас есть несколько доступных опций в зависимости от того, что вы хотите сделать?

  1. Вы можете сохранить значения узлов в HTML как идентификаторы / скрытые поля или использовать Атрибуты данных затемкогда в нашем обработчике события click вы используете селектор jQuery для создания объекта JSON.
  2. Вы можете просто сохранить идентификатор узла, а затем сделать Ajax-запрос на сервер, который может вернуть объект JSON.

Обычно я использую вариант 1, если все данные, которые мне нужны для объекта, уже отображаются на странице, чтобы уменьшить количество обращений к серверу.

Или вариант 2, если объект имеет дополнительныеполя, к которым вы хотите получить доступ, но которые не нужно отображать в списке, чтобы уменьшить объем на HTML-странице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...