2014-01-15 28 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

元素ID必须是唯一的,所以把他们一个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

是的角色显示。我也需要这个名字。我试过alert($(this).prev(“。name”).val());但它不工作 – LynAs

+1

更新答案打印的名称和价值 – CodingIntrigue

+0

它展示的作用两次 – LynAs

相关问题