给你一个完整的无刷新XMLHTTP实现二级联动下拉框的完整示例,你参考一下,根据意思,可轻易做出多级来. 以下为页面代码:
<form id="Form1" method="post" runat="server"> <asp:DropDownList id="DropDownList1" runat="server"></asp:DropDownList> <asp:DropDownList id="DropDownList2" runat="server"></asp:DropDownList> <SCRIPT LANGUAGE="JavaScript"> <!-- //以XML求取数据 function XmlPost(obj) { var svalue = obj.value; var webFileUrl = "?brc_id=" + svalue; var result = ""; var xmlHttp = new ActiveXObject("MSXML2.XMLHTTP"); xmlHttp.open("POST", webFileUrl, false); xmlHttp.send(""); result = xmlHttp.responseText; if(result != "") { document.all("DropDownList2").length=0; var piArray = result.split(","); for(var i=0;i<piArray.length;i++) { var ary1 = piArray[i].toString().split("|"); //alert(ary1[0].toString()); document.all("DropDownList2").options.add(new Option(ary1[1].toString(),ary1[0].toString())); } } else { alert(result); } } //--> </SCRIPT> </form>
以下为后台代码:
private System.Data.OleDb.OleDbConnection conn;
private DataTable get_dt(string sql) { string connstr = "Provider=MSDAORA.1;Password=aqjc;User ID=aqjc;Data Source=aqjc"; this.conn = new OleDbConnection(connstr); this.conn.Open(); OleDbCommand myOleDbCommand = new OleDbCommand(sql,this.conn); OleDbDataAdapter myData = new OleDbDataAdapter(myOleDbCommand);
DataSet myDataset = new DataSet(); try { myData.Fill(myDataset); } catch(Exception ex) { throw ex; }
this.conn.Close(); return myDataset.Tables[0]; }
private void Page_Load(object sender, System.EventArgs e) { string brc_id = this.Request.QueryString["brc_id"]; if(brc_id + "a" != "a") { this.down2_bind(brc_id); }
if(!this.IsPostBack) { this.down1_bind(); } }
页次:1/2 1篇/页 首页 上一页 下一页 尾页 合计 2 篇 Go: |