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

相關問題