1

各従業員の成績を含むテーブルを 1 つずつ更新する必要があります。jsp ページのテーブルには、各行に個々の従業員のパフォーマンス データが表示され、各行にstruts2 選択ドロップ ダウン リストが表示され、アンカー タグが更新されます。struts2 イテレータタグを使用して作成されます。

必要なのは、この更新リンクを押している間、ドロップダウン リストから選択した値を取得し、現在の行を更新することです。

これを達成する方法は?アンカー タグを更新するために onClick イベントで何をする必要があるか知りたいですか?

4

2 に答える 2

0

onclickイベントでjavascriptメソッドを呼び出します。内部メソッドはすべての値を読み取り、これらすべての値をサーバーに送信します。通常のフォームポストまたはAjaxを使用してそれを行うこともできます。

于 2012-11-26T11:07:05.367 に答える
0

私は私の質問に対する解決策を見つけました。これで、列の各行の入力に対して動的にIDを生成します。つまり、onclick 属性内の JavaScript 関数のパラメーターとして、この要素 ID を使用してアンカー タグもそれぞれ生成されます。そのため、更新リンクをクリックすると、この対応する行のテキストフィールド 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 に答える