http://community.csdn.net/Expert/topic/5098/5098613.xml?temp=.1111109
选择数据用xmlhttp或者iframe
http://news.newhua.com/html/Asp/2005-11/10/05111017175019360_3.shtml
选择数据用xmlhttp或者iframe
http://news.newhua.com/html/Asp/2005-11/10/05111017175019360_3.shtml
ref:
http://www.jscode.cn/JsHtml/Js454.htm
调用数据情况jsp:
.....
<script language="javascript">
var XHR=null;
var part=null;
var subPart=null;
function initAjax()
{
if(window.XMLHttpRequest)
{
return(new XMLHttpRequest());
}
else if(window.ActiveXObject)
{
try{
return(new ActiveXObject("MSXML2.XMLHttp");
}
catch(XHRERROR){
try{
return(new ActiveXObject("Microsoft.XMLHttp");
}
catch(MISE){}
}
}
function callSub(param)
{
part=document.getElementById("breakPart");
subPart=document.getElementById("subPart");
XHR=initAjax();
if(!XHR)return;
XHR.open("get","getSubPart?MainPart="+param,true);
XHR.onreadystatechange=callBack;
XHR.send(null)
}
function callBack()
{
if(XHR.readystate==4)
{
if(XHR.status==200)
{
var domObj=XHR.responseXML;
var subParts=domObj.selectNodes("//sub");
subPart.options.length=0;
for(var i=0;i<subParts.length;i++)
{
var name=subParts[i].getAttribute("name");
var value=subParts[i].getAttribute("value");
var opt=new Option(name,value);
part.add(opt);
}
}
}
}
</script>
<jsp:userBean id="part" class="...." scope="page" />
<%
String[][] arrList=part.arrayList;
%>
<select id="breakPart" name="breakPart" onchange="callSub(this.options[this.selectedIndex].value)">
<option value="">--请选择--</option>
<%
for(int i=0;i<arrList.length();i++)
{
out.print("<option value=\""+arrList[i][0]+"\">"+arrList[i][1]+"</option>\n");
}
%>
</select>
<select id="subPart" name="subPart">
</select>
==========
Servlet
-----------
import
.....
public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException{
String sMainPart=request.getParameter("MainPart");
if(!sMainPart.equals("") && !sMainPart)
{
DB db=new DB(); //实例化一个数据库对象;
db.connect();
Object[] obj=db.Query("select name,value from subPart where mainPart='"+sMainPart+"'");
response.setContentType("text/xml;charset=UTF-8");
PrintWriter out=response.getWriter();
out.println("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>");
out.println(" <main>");
for(int i=0;i<obj.length();i++)
{
String[] rs=(String[])obj[i];
String name=rs[0];
String value=rs[1];
out.println(" <sub name=\""+name+"\" value=\""+value+"\");
}
out.println("</main>");
db.disconnect();
}
}
.......
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>New Page 1</title>
<script language="javascript">
var main=new Array();
var sub=new Array();
var oMain=null;
var oSub=null;
function init()
{
oSub=document.all["sub"];
oMain=document.all["main"];
main[0]=new Array("叶片","a");
main[1]=new Array("燃烧室","b")
sub["a"]=new Array(new Array("叶片","1"),new Array("叶尖","2"),new Array("叶根","5"));
sub["b"]=new Array(new Array("外壳","3"),new Array("内环","4")); for(var i=0;i<main.length;i++)
{
oMain.add(new Option(main[i][0],main[i][1]));
}
}
function $S(v)
{
if(v.length>0){
oSub.length=0;
eval("arraySub=sub[\""+v+"\"]");
for(var i=0;i<arraySub.length;i++)
{
oSub.add(new Option(arraySub[i][0],arraySub[i][0]));
}
}
}
window.onload=init;
</script>
</head><body>
<select id="main" name="main" onchange="$S(this.options[this.selectedIndex].value)">
<option value="">请选择</option>
</select>
<select id="sub" name="sub">
<option value="">请选择</option>
</select>
</body></html>