我需要逐个更新每个员工的成绩表,jsp页面上的表格显示每行中每个员工的一些绩效数据以及 struts2 select 下拉列表在每一行和更新锚标记。这是使用 struts2 iterator 标记创建的。
我需要的是当我按下此更新链接时,它应该从下拉列表中选择所选值并更新当前行。
如何实现这一目标?我想知道在onClick事件中我需要做什么来更新锚标记?
答案 0 :(得分:0)
在onclick
事件上调用javascript方法。 Inside方法读取所有值,然后将所有这些值发送到服务器。
您可以使用普通表单或Ajax来完成它。
答案 1 :(得分:0)
我为我的问题找到了解决方案。在此我为列的每一行中的输入动态生成 id ,意味着锚标记也分别使用此元素id作为onclick属性内的javascript函数的参数生成。因此,当我单击更新链接时,它会将此相应行的textfield id转换为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>