struts2中的行动作

时间:2012-11-26 10:13:41

标签: struts2

我需要逐个更新每个员工的成绩表,jsp页面上的表格显示每行中每个员工的一些绩效数据以及 struts2 select 下拉列表在每一行和更新锚标记。这是使用 struts2 iterator 标记创建的。

我需要的是当我按下此更新链接时,它应该从下拉列表中选择所选值并更新当前行。

如何实现这一目标?我想知道在onClick事件中我需要做什么来更新锚标记?

2 个答案:

答案 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>