根据jsp中另一个下拉列表的选择从下拉列表中选择
我有两个下拉列表,一个带有所有帐户ID,另一个带有相应的电子邮件ID。如果我从帐户id中选择一个条目,则应在另一个下拉列表中自动选择相应的电子邮件id。(帐户id和电子邮件id是一对一的关系。第一个帐户id对应第一个电子邮件id等)我们如何在JSP中做到这一点 在这里查看我的下拉列表:根据jsp中另一个下拉列表的选择从下拉列表中选择,jsp,struts,Jsp,Struts,我有两个下拉列表,一个带有所有帐户ID,另一个带有相应的电子邮件ID。如果我从帐户id中选择一个条目,则应在另一个下拉列表中自动选择相应的电子邮件id。(帐户id和电子邮件id是一对一的关系。第一个帐户id对应第一个电子邮件id等)我们如何在JSP中做到这一点 在这里查看我的下拉列表: <td> 1. Member Account Number <span class="bodyCopy"> <font color="#ff0000">
<td>
1. Member Account Number
<span class="bodyCopy">
<font color="#ff0000"> * </font>
</span>:
<html:select name="DataForm"
property="Member.accountNumber"
styleClass="formContent"
style="width:80px">
<html:options collection="<%= WorkConstants.RENewDropdowns.PACCT %>"
property="value"
labelProperty="label"
styleClass="formContent"/>
</html:select>
</td>
1.会员帐号
*
:
电子邮件ID位于此处:
<td>
3. Member <br>E-mail Address:<br />
<span class="bodyCopy"></span>
<html:select name="DataForm"
property="Member.emailAddress.emailAddress"
style = "width:150px"
styleClass="formContent">
<html:options collection="<%= WorkConstants.RENewDropdowns.PEMAIL %>"
property="value"
labelProperty="label"
styleClass="formContent"/>
</html:select>
</td>
3.成员
电子邮件地址:
有很多方法可以做到这一点。基本思想是使用javascript(或jQuery或任何其他AJAX框架)将表单的操作更改为“comboUpdate”或其他内容,然后提交表单。该操作将只加载第二个组合并转发到同一页面。嗨,使用Ajax使用选择框从数据库检索值,这可能会对您有所帮助
1.mainpage.jsp
<%@page import="java.sql.*"%>
<html>
<head>
<script language="javascript" type="text/javascript">
//AJAX code for retrieving dates from database
var xmlHttp;
var xmlHttp;
function showEmp(str){
if (typeof XMLHttpRequest != "undefined"){
xmlHttp= new XMLHttpRequest();
}
else if (window.ActiveXObject){
xmlHttp= new ActiveXObject("Microsoft.XMLHTTP");
}
if (xmlHttp==null){
alert("Browser does not support XMLHTTP Request");
return;
}
var url="selEmp.jsp";
url +="?count=" +str;
xmlHttp.onreadystatechange = stateChange;
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
function stateChange()
{
if(xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("batchdate").innerHTML=xmlHttp.responseText
}
}
</script>
</head>
<body>
<select name='batch' onchange="showEmp(this.value)">
<option value="none">Select</option>
<%
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection("jdbc:mysql://192.168.40.120:3306/cjet","root","root");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("Select * from cjet.batch");
while(rs.next()){
%>
<option value="<%=rs.getString("bname")%>"><%=rs.getString("bname")%></option>
<%
}
%>
</select>
<br>
<div id='batchdate'>
<select name='batchdate' onchange="showCustomer(this.value)">
<option value='-1'></option>
</select>
</div>
</body>
</html>
//用于从数据库检索日期的AJAX代码
var-xmlHttp;
var-xmlHttp;
函数showEmp(str){
if(XMLHttpRequest的类型!=“未定义”){
xmlHttp=新的XMLHttpRequest();
}
else if(window.ActiveXObject){
xmlHttp=新的ActiveXObject(“Microsoft.xmlHttp”);
}
if(xmlHttp==null){
警报(“浏览器不支持XMLHTTP请求”);
返回;
}
var url=“selEmp.jsp”;
url+=“?count=“+str;
xmlHttp.onreadystatechange=stateChange;
open(“GET”,url,true);
xmlHttp.send(空);
}
函数stateChange()
{
if(xmlHttp.readyState==4 | | xmlHttp.readyState==complete)
{
document.getElementById(“batchdate”).innerHTML=xmlHttp.responseText
}
}
挑选
2.retrieve.jsp
<%@page import="java.sql.*"%>
<%
String no=request.getParameter("count");
String buffer="<select name='batchdate' onchange='showCustomer(this.value)'><option value='-1'>Select</option>";
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection("jdbc:mysql://192.168.40.144:3306/cjet","root","root");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("Select * from cjet.batchdate where bname='"+no+"' ");
while(rs.next()){
buffer=buffer+"<option value='"+rs.getString(1)+"'>"+rs.getString("courseID")+" </option>";
}
buffer=buffer+"</select>";
response.getWriter().println(buffer);
}
catch(Exception e)
{
System.out.println(e);
}
%>