今天做了一个3级联动的例子。。现在将部分代码帖出来。。其中new DataBase()是我寫的一個連接庫的語句。。javascript:
function openXml(url) {
createXMLHttpRequest();
xmlgiftHttp.onreadystatechange = statexmlChange;
xmlgiftHttp.open("GET", url, true);
xmlgiftHttp.send("false");
}
var statexmlChange = function(){
if (xmlgiftHttp.readyState == 4) {
if (xmlgiftHttp.status == 200) {
handle();
} else {
alert("礼品名称重复!");
}
}
}
var xmlgiftHttp;
function createXMLHttpRequest() {
if(window.ActiveXObject) {
xmlgiftHttp = new ActiveXObject("Microsoft.XMLHTTP");
}else{
if(window.XMLHttpRequest) {
xmlgiftHttp = new XMLHttpRequest();
}
}
}function handle(){
var txt=xmlgiftHttp.responseText;
var _obj=document.all("select2");
var _o=document.createElement("Option");
var arrayxx = new Array(6);
setOptionText(document.fm.select2,arrayxx);
}function setOptionText(the_select, the_array) {
the_select.options.length = the_array.length/2; //列表的长度
for (loop=0; loop < the_array.length-1;loop+=2)
{
the_select.options[loop/2].value = the_array[loop];
the_select.options[loop/2].text = the_array[loop+1]; }
} function getchange(){ //当<select>onchange="getchange()时触发。
var el=document.getElementById("select1");
var url="/platform/crmfile/addyiftAction.do?";
url+="actionType=getchange";
url+="&id="+el.value;
openXml(url);
}jsp:
<table width="100%" border="0" align="center" cellpadding="4" cellspacing="1" bgcolor="#2D8EE1">
<tr>
<%
String sql1 = "select t.id,t.name from category t where t.leve1=0";
ResultSet rs1 = new DataBase().executeQuery(sql1);
%>
<td width="7%" class="title">一级菜单:</td>
<td class="input" width=20%>
<select name="select1" style="width:80px" id="s" onchange="getchange()">
<option value='%'>全部</option>
<%
while(rs1.next()){
%>
<option value=<%=rs1.getString(1)%>><%=rs1.getString(2)%></option>
<%}%>
</select>
- </td>
<td width="7%" height="100%" valign="top" >二级菜单<br></td>
<td width="20%" class="input">
<select name="select2" style="width:80%" class="one" onchange="getchange2()">
</select>
</td>
<td width="7%" height="100%" valign="top">三级菜单<br></td>
<td width="20%" class="input">
<select name="select3" style="width:80%" class="one">
</select>
</td>
</tr>
</table>
java:
/** 2级联动菜单 */
public void getchange(HttpServletRequest request, HttpServletResponse response)
throws Exception {
PrintWriter out = response.getWriter();
String id = request.getParameter("id");
String returnXml = "";
boolean REPSTYCOD;
String sql1 = "select t.id,t.name from category t where 1=1 and t.parentid='"+id+"'";
ResultSet rs1 = new DataBase().executeQuery(sql1);
List list=new ArrayList();
while(rs1.next()){
String a=rs1.getString(1);
String b=rs1.getString(2);
returnXml+=a+",";
returnXml+=b+",";
}
System.out.println(sql1);
System.out.println(rs1);
System.out.println(returnXml);
ArrayList[] list1 = new ArrayList[2];
returnXml.split(",");
out.write(returnXml); //返回给xmlgiftHttp.responseText
out.flush();
out.close();
}
後來我看有人寫XMLHttp.sendReq對象池,看的不是很明白。。
誰寫過上來貼貼代碼啊??講講XMLHttp.sendReq有什麽應用??
可以用在什麽地方啊??
function openXml(url) {
createXMLHttpRequest();
xmlgiftHttp.onreadystatechange = statexmlChange;
xmlgiftHttp.open("GET", url, true);
xmlgiftHttp.send("false");
}
var statexmlChange = function(){
if (xmlgiftHttp.readyState == 4) {
if (xmlgiftHttp.status == 200) {
handle();
} else {
alert("礼品名称重复!");
}
}
}
var xmlgiftHttp;
function createXMLHttpRequest() {
if(window.ActiveXObject) {
xmlgiftHttp = new ActiveXObject("Microsoft.XMLHTTP");
}else{
if(window.XMLHttpRequest) {
xmlgiftHttp = new XMLHttpRequest();
}
}
}function handle(){
var txt=xmlgiftHttp.responseText;
var _obj=document.all("select2");
var _o=document.createElement("Option");
var arrayxx = new Array(6);
setOptionText(document.fm.select2,arrayxx);
}function setOptionText(the_select, the_array) {
the_select.options.length = the_array.length/2; //列表的长度
for (loop=0; loop < the_array.length-1;loop+=2)
{
the_select.options[loop/2].value = the_array[loop];
the_select.options[loop/2].text = the_array[loop+1]; }
} function getchange(){ //当<select>onchange="getchange()时触发。
var el=document.getElementById("select1");
var url="/platform/crmfile/addyiftAction.do?";
url+="actionType=getchange";
url+="&id="+el.value;
openXml(url);
}jsp:
<table width="100%" border="0" align="center" cellpadding="4" cellspacing="1" bgcolor="#2D8EE1">
<tr>
<%
String sql1 = "select t.id,t.name from category t where t.leve1=0";
ResultSet rs1 = new DataBase().executeQuery(sql1);
%>
<td width="7%" class="title">一级菜单:</td>
<td class="input" width=20%>
<select name="select1" style="width:80px" id="s" onchange="getchange()">
<option value='%'>全部</option>
<%
while(rs1.next()){
%>
<option value=<%=rs1.getString(1)%>><%=rs1.getString(2)%></option>
<%}%>
</select>
- </td>
<td width="7%" height="100%" valign="top" >二级菜单<br></td>
<td width="20%" class="input">
<select name="select2" style="width:80%" class="one" onchange="getchange2()">
</select>
</td>
<td width="7%" height="100%" valign="top">三级菜单<br></td>
<td width="20%" class="input">
<select name="select3" style="width:80%" class="one">
</select>
</td>
</tr>
</table>
java:
/** 2级联动菜单 */
public void getchange(HttpServletRequest request, HttpServletResponse response)
throws Exception {
PrintWriter out = response.getWriter();
String id = request.getParameter("id");
String returnXml = "";
boolean REPSTYCOD;
String sql1 = "select t.id,t.name from category t where 1=1 and t.parentid='"+id+"'";
ResultSet rs1 = new DataBase().executeQuery(sql1);
List list=new ArrayList();
while(rs1.next()){
String a=rs1.getString(1);
String b=rs1.getString(2);
returnXml+=a+",";
returnXml+=b+",";
}
System.out.println(sql1);
System.out.println(rs1);
System.out.println(returnXml);
ArrayList[] list1 = new ArrayList[2];
returnXml.split(",");
out.write(returnXml); //返回给xmlgiftHttp.responseText
out.flush();
out.close();
}
後來我看有人寫XMLHttp.sendReq對象池,看的不是很明白。。
誰寫過上來貼貼代碼啊??講講XMLHttp.sendReq有什麽應用??
可以用在什麽地方啊??
有没有人来说明一下啊。。