1

我需要一个一个地更新每个员工的等级表,jsp页面上的表显示了每一行中个别员工的一些绩效数据,以及每行中的struts2选择下拉列表和更新锚标记。它是使用struts2 迭代器标签创建的。

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

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

4

2 回答 2

0

onclick事件调用 javascript 方法。内部方法读取所有值,然后将所有这些值发送到服务器。您也可以使用普通形式的 post 或 Ajax 来完成。

于 2012-11-26T11:07:05.367 回答
0

我为我的问题找到了解决方案。在此,我为列的每一行中的输入动态生成id,这意味着锚标记也使用此元素 id 分别作为 onclick 属性内的 javascript 函数的参数生成。因此,当我单击更新链接时,它会将对应行的文本字段 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>
于 2012-12-19T11:13:25.003 回答