DropDownLis实现无刷新联动菜单

原创 2005年05月28日 08:15:00

以下为页面代码:

<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();
  }
}

/// <summary>
/// 返回第2个下拉框需要的值给xmlhttp
/// </summary>
/// <param name="brc_id"></param>
private void down2_bind(string brc_id)
{
  string mystr = "";
  string sql = "select brc_id,brc_name from asm_branch where brc_parentid = '" + brc_id + "'";
  DataTable mytab = this.get_dt(sql);

  if(mytab.Rows.Count != 0)
  {
    for(int i=0;i<mytab.Rows.Count;i++)
    {
      mystr += "," + mytab.Rows[i][0].ToString() + "|" + mytab.Rows[i][1].ToString();
    }
    mystr = mystr.Substring(1);
  }
  this.Response.Write(mystr);
  this.Response.End();
}

/// <summary>
/// 绑定第一个下拉框
/// </summary>
private void down1_bind()
{
  string sql = "select brc_id,brc_name from asm_branch where brc_level = '1'";
  DataTable mytab = this.get_dt(sql);
  this.DropDownList1.DataSource = mytab;
  this.DropDownList1.DataValueField = "brc_id";
  this.DropDownList1.DataTextField = "brc_name";
  this.DropDownList1.DataBind();
  this.DropDownList1.Attributes.Add("onchange","XmlPost(this);");
}

UpdatePanel控件实现无刷新级联

.master代码如下:
  • yayun0516
  • yayun0516
  • 2014年12月11日 14:59
  • 1187

IFrame实现页面无刷新

--感谢非哥,参考非哥的BLOG写的  使用 iframe 来实现不刷新页面改变局部内容 ...
  • ws_hgo
  • ws_hgo
  • 2010年03月26日 11:57
  • 3173

MVC三级联动无刷新

本篇实现有关客户、订单和产品的无刷新三级联动,先看最终效果:   没有选择时,后2个Select状态为禁用:    当选择第1个Select,第2个Select可供选择,第...
  • shan1774965666
  • shan1774965666
  • 2014年09月03日 09:12
  • 500

ASP.NET实现无刷新DropDownList联动

Example function load(state){ var drp2 = document.getElementById("DropDownList2"); for (i = ...
  • jxufewbt
  • jxufewbt
  • 2005年12月07日 09:40
  • 4042

JS实现无刷新联动菜单(select)的方法

所谓联动菜单,就是后一个下拉框的选项是根据前一个下拉框被选中的值来决定的,一个典型的应用就是省市联动菜单了,市的下拉选项是根据你选了哪个省来决定的,类似的需求我们经常遇到,相信许多新手都被这个问题困扰...
  • neubuffer
  • neubuffer
  • 2013年11月23日 14:30
  • 421

DropDownList无刷新ajax二级联动效果

页面主要代码:                                                                  Width="200" Aut...
  • zhaohongx
  • zhaohongx
  • 2015年02月15日 17:00
  • 1123

无刷新联动菜单

分析网上常见的几种联动菜单算法后,对复杂度和效率以及空间进行了折衷。1. 静态联动,适合于不经常更新的数据,比如省市联动菜单2. 数据绑定,使用数据源进行绑定显示。    a. DataSet/Dat...
  • JOHNCOOLS
  • JOHNCOOLS
  • 2007年05月16日 14:39
  • 895

Asp.net无刷新二级联动

Asp.net无刷新二级联动数据库建立表provinceid provinceName1 陕西3 山东8 河南表cityid cityname provinceid1 西安 12 济南 33 郑州 8...
  • wengman
  • wengman
  • 2009年04月20日 22:35
  • 2710

菜鸟学Java(七)——Ajax+Servlet实现无刷新下拉联动

...
  • liushuijinger
  • liushuijinger
  • 2013年07月29日 11:09
  • 5124

用XMLTHHP实现DropDownList无刷新联动菜单[联动菜单]

ASP.NET给我们带了了事件模型的编程机制,这使得我们将所有的任务都放在服务器上执行哪怕是一个小小变动,其实这到不是什么问题,可是有一点我们无法忍受,如果我们改变某一个输入框中的内容页面要刷新,改变...
  • ldw701
  • ldw701
  • 2004年11月18日 14:44
  • 640
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DropDownLis实现无刷新联动菜单
举报原因:
原因补充:

(最多只允许输入30个字)