如何从JSP页面中的下拉列表中获取所选值,并且每个都需要从ddl获取id和所选值?

时间:2013-11-01 07:37:57

标签: javascript jsp-tags

<%@ 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

1 个答案:

答案 0 :(得分:0)

这是因为在线

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

它始终选择第一行下拉列表,因为所有下拉列表都具有相同的ID 将下拉列表ID作为companyId提供,并在上面的代码中替换该id,您将获得每行的正确值。

您可以为所有下拉列表提供ID,以便所有下拉列表都获得不同的ID。

我认为他会帮助你。