0
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">


<title>CompanyProfile</title>

</head>
<body>
<form id="Admin" action="AdminViewServlet" method="post">
<div id="users-contain" class="ui-widget">
<table id="Profile">
<thead>
<tr>
<th style="COLOR: #ffffff; background-color: #910029;">CompanyID</th>
<th style="COLOR: #ffffff; background-color: #910029;">ChangeStatus</th>
</tr>
</thead>
<tbody>
<c:forEach var="Profile" items="${requestScope.allProfile}" varStatus="status">
<tr>
<td>${Profile.companyId}</td>
<td><select id="statuschange" name="statuschange">
<option id="statuschangetype" value="">---Choose a type---
<option id ="statuschangetype1" value="Activate"> Activate
<option id ="statuschangetype2" value=" Deactivate">Deactivate</select></td>
<td  onclick="StatusChange(this)">
<input type="button"  id=${Profile.companyId } value="Change Status"></td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</form>
</body>
function StatusChange(click) {
     alert("change status");
     var tablerow = click.parentNode;
     alert("ha ha parentnode...");
     var companyId = tablerow.cells[1].innerHTML;
     alert("id...."+companyId);
     var i = document.getElementById("statuschange");
     var changestatus = i.options[i.selectedIndex].value;
alert("got status" + changestatus);
$.ajax({
type: "GET",
async: false,
dataType: "text",
url: "/Projectlogin/AdminViewServlet",
data: {ActionType:"5",companyId:companyId,status:changestatus},
success: function(TokenData){
alert("testing");
alert("response data: "+TokenData);
   if(TokenData !== null){
alert('Saved !');

returnValue = TokenData;

            }   
        }           

    }); 
}

 </script>
 </html>

こんにちは、私は新しいプログラマーで、選択したドロップダウン値を行から取得して companyId で更新する方法がわかりません。上記のコードによると、一度しか取得できません。次の行で変更したい場合は、以前に変更された値が返されます。
各行からステータスを更新する方法を教えてください。

よろしく、ルビー

4

1 に答える 1

0

ラインだからね

var i = document.getElementById("statuschange");  

すべてのドロップダウンの ID が同じであるため、常に最初の行のドロップダウンが選択されます。
ドロップダウン ID を companyId として指定し、上記のコードでその ID を置き換えると、各行の正しい値が得られます。

すべてのドロップダウンに id を指定して、すべてのドロップダウンが異なる ID を取得できるようにします。

彼があなたを助けてくれると思います。

于 2013-11-01T07:59:52.037 に答える