<%@ 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更新它。按照上面的代码,我只能得到一次。如果我想在下一行更改它,它会给我之前更改的值 请帮助我了解如何从每行进行状态更新。
此致 Ruby
答案 0 :(得分:0)
这是因为在线
var i = document.getElementById("statuschange");
它始终选择第一行下拉列表,因为所有下拉列表都具有相同的ID 将下拉列表ID作为companyId提供,并在上面的代码中替换该id,您将获得每行的正确值。
您可以为所有下拉列表提供ID,以便所有下拉列表都获得不同的ID。
我认为他会帮助你。