2012-11-26 40 views
1

我需要爲每位員工逐一更新表格,jsp頁面上的表格顯示了每行中每個員工的一些表現數據以及struts2 select下拉列表在每一行更新錨標記。其中使用struts2迭代器標記創建。struts2中的明智行爲

我需要的是當我按此更新鏈接時,它應該從下拉列表中選擇的值並更新當前行。

如何實現這一目標?我想知道在更新定位標記的onClick事件中需要做些什麼?

+0

你想用AJAX做這個或只是提交?到目前爲止,你有什麼? –

+0

我現在什麼都沒有,我堅持這個上面提到的問題我想知道我需要做什麼onClick事件更新錨標記? –

回答

0

我找到了我的問題的解決方案。在這裏,我動態生成id,以便在列的每一行中進行輸入,而平均值同時也將此元素id生成的錨標記分別作爲onclick屬性內的javascript函數的參數。所以,當我點擊更新鏈接時,它將這個相應行的文本字段標識符用於javascript函數。這使我獲得價值並逐行更新它。這是我如何做的一個例子。

<script type="text/javascript"> 

     function updateRole(roleID,targetID,id){ 

      var role = document.getElementById(roleID).value; 
      var target = document.getElementById(targetID).value; 
      $.ajax({ 
       url:"updateTeamemploydetails.action", 
       data:"testRole="+role + "-" + target + "-" + id, 
      }); 

</script> 

<table> 
      <tr> 
       <th >S.No</th> 
       <th >Name</th> 
       <th >Role</th> 
       <th >Target</th> 
       <th >Action</th> 
      </tr> 
       <s:iterator value="emplist" status="empStatus"> 
      <tr> 
       <td ><s:property value="#empStatus.count"/></td> 
       <td ><s:property value="empname"/></td> 
       <td ><s:textfield name="emprole" id="%{#empStatus.count}" theme="simple"/></td> 
       <td ><s:textfield name="target" id="target%{#empStatus.count}" theme="simple"/></td> 
       <td ><a href="#" onclick="updateRole('<s:property value="%{#empStatus.count}"/>','target'+'<s:property value="%{#empStatus.count}"/>','<s:property value="empid"/>');" >Update</a></td> 
      </tr> 
       </s:iterator> 
</table> 
0

onclick事件調用javascript方法。 Inside方法讀取所有值,然後將所有這些值發送到服務器。 你可以使用普通表單發佈或Ajax來完成。

+0

如何將選定的值傳遞給javascript或jquery。這對我來說是一個很大的問題,因爲它在一個表格內,並且有多少個列表,因爲這些行是同名的。 –

+0

給每行的屬性/列一個唯一的ID。然後你可以使用id來讀取值。現在,表格可以動態增長,因此您需要找到一種附加唯一標識的通用方法。這可以在填充表格時實現。 id的一個建議就像「attributeName」+ count。您應該在顯示/填充期間增加計數。這樣你將有一個唯一的ID爲每行/列。 –

+0

@ rai.skumar:關於用javascript追加行的編輯是無關緊要的。問題不在於此。我建議你從答案中刪除它。 –