2014-01-15 3 views
0

Следующие содержат динамические значенияКак получить получить динамически генерируемые значение

<c:forEach items="${allUserList}" var="eachUser"> 
     <span class="name"> ${eachUser.getUserName()} <span> 
     <select class="role"> 
      <c:forEach items="${roleList}" var="eachRole"> 
       <option value="${eachRole.getRoleName()}">${eachRole.getRoleName()}</option> 
      </c:forEach> 
     </select> 
     <input type="button" class="add" value="add" /> 
    </c:forEach> 

Когда я нажимаю на кнопку добавления я должен увидеть соответствующее имя, выбранной роли в окне предупреждения (e.g {jack, admin})

Как это сделать ??

+1

Идентификаторы элементов должны быть уникальными, поэтому их размещение внутри forEach не имеет смысла. – CodingIntrigue

+0

позволяет предположить его класс, что тогда? – LynAs

ответ

3

Использование атрибута класса кнопки в качестве селектора, вы можете использовать функцию .prev найти <select> элемент, предшествующую кнопку:

$(".add").on("click", function() { 
    alert($(this).prev(".role").val()); // Role 
    alert($(this).prevAll(".name").text()); // Name 
}); 

Вам не нужно делегирование событий в этом случае, как JSP будет генерировать этот код до того, как он достигнет клиента.

+0

Да роль показывается. Мне также нужно имя. Я попытался оповестить ($ (this) .prev (". name"). val()); но его не работает – LynAs

+1

Обновлен ответ на имя и значение печати – CodingIntrigue

+0

Его показ роли дважды – LynAs

Смежные вопросы