asp.net js三级联动菜单实现方法(1/3)

asp教程.net js三级联动菜单实现方法

在ie5.5, ie8, firefox 2.0.0.12, chrome 8.0.552.237下可用
ashx中,通过传入的参数从数据库教程中获取相应的值。

参数名:

type:值为regiontwo(表示获取二级地区),或regionthree(表示获取三级地区),

oneid,表示一级地区编号,

twoid,表示二级地区编号

其中getregiontwoinfo和getregionthreeinfo为获取二级和三级地区编号及名称的方法
public void processrequest (httpcontext context)
{
    string type = context.request.querystring["type"];
    if (type.equals("regiontwo"))
    {
        string oneid = context.request.querystring["oneid"];
        context.response.contenttype = "text/plain";
        context.response.write(getregiontwoinfo(oneid));
    }
    else if (type.equals("regionthree"))
    {
        string oneid = context.request.querystring["oneid"];
        string twoid = context.request.querystring["twoid"];
        context.response.contenttype = "text/plain";
        context.response.write(getregionthreeinfo(oneid, twoid));   
    }
}
js代码

创建xmlhttprequest对象并发送请求,并设置onreadystatechange函数。

var http_request = false;
function send_request(url,content,callback)
{
  if(window.xmlhttprequest)
  {
    http_request=new xmlhttprequest();
    if(http_request.overridemimetype)
    {
      http_request.overridemimetype("text/xml");
    }
  }
  else
  {
    try
    {
      http_request=new activexobject("msxml2.xmlhttp");
    }
    catch(e)
    {
      try
      {
        http_request=new activexobject("microsoft.xmlhttp");
      }
      catch(e)
      {
      }
    }
  }
   
  if(!http_request)
  {
    window.alert("不能创建xmlhttprequest对象实例。");
    return false;
  }
 
  if(navigator.useragent.indexof("firefox")<0)
    http_request.onreadystatechange=callback;
  http_request.open("get",url,false);
  http_request.setrequestheader("content-type", "text/xml");
  http_request.send(content);
   
  if(navigator.useragent.indexof("firefox")>=0)
  {
    if(callback==1)
      http_request.onreadystatechange=populateclass1();
    else if(callback==2)
      http_request.onreadystatechange=populateclass2();
  }
}
初始化下拉框,并调用send_request方法。这两个函数为下拉框直接调用
function getregiontwo(oneid)
{
  if(oneid!='0')
  {
    document.getelementbyid("region_selregionthree").options.length=1;
    var url="controls/getregionhandler.ashx?type=regiontwo&oneid="+oneid;
   
    if(navigator.useragent.indexof("firefox")<0)
        send_request(url,null,populateclass1);
    else
        send_request(url,null,1);
  }
  else
  {
    document.getelementbyid("region_selregiontwo").length=1;
    document.getelementbyid("region_selregiontwo").selectedindex=0;
    document.getelementbyid("region_selregionthree").length=1;
    document.getelementbyid("region_selregionthree").selectedindex=0;
  }
}

function getregionthree(oneid,twoid)
{
  if(oneid!='0'&&twoid!='0')
  {
    var url="controls/getregionhandler.ashx?type=regionthree&oneid="+oneid+"&twoid="+twoid;
    if(navigator.useragent.indexof("firefox")<0)
        send_request(url,null,populateclass2);
    else
        send_request(url,null,2);
  }
  else
  {
    document.getelementbyid("region_selregionthree").length=1;
    document.getelementbyid("region_selregiontwo").selectedindex=0;
  }
}

首页 1 2 3 末页

时间: 2024-10-21 08:12:36

asp.net js三级联动菜单实现方法(1/3)的相关文章

JS三级可折叠菜单实现方法_javascript技巧

本文实例讲述了JS三级可折叠菜单实现方法.分享给大家供大家参考,具体如下: .ASPX代码: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="NavigateMenu.aspx.cs" Inherits="NavigateMenu" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tran

js 三级联动菜单

<html> <head> <title>List</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <script language = "JavaScript"> var onecount; onecount=0; subcat = new Array();     

PHP+JS三级菜单联动菜单实现方法_php技巧

本文实例讲述了PHP+JS三级菜单联动菜单实现方法.分享给大家供大家参考,具体如下: <html> <head> <title> 智能递归菜单-读取数据库 </title> <style> TD { FONT-FAMILY: "Verdana", "宋体"; FONT-SIZE: 12px; LINE-HEIGHT: 130%; letter-spacing:1px } A:link { COLOR: #9

JS封装的三级联动菜单(使用时只需要一行js代码)_javascript技巧

前言 在实际的项目开发中,我们经常需要三级联动,比如省市区的选择,商品的三级分类的选择等等. 而网上却找不到一个代码完整.功能强大.使用简单的三级联动菜单,大都只是简单的讲了一下实现思路. 下面就给大家分享我在工作中封装并在项目中使用的三级级联操作代码,如有错误或者不当的地方欢迎大家指正. 使用简单(只需要一行代码) 可以根据需要设置是否显示"请选择"项 支持回调(在三级分类加载完成后触发回调事件) 支持一个页面多个级联菜单 演示效果预览: 三级联动封装 原理:将selec标签以及相关

ASP+JS三级联动下拉菜单[调用数据库数据]_应用技巧

网上三级菜单多是多但是代码都比较烦,我这个应该说还是比较直观的:'肯定先要连接数据库了,不用说了 '数据库结构 '类别1表名称:a  字段:ID,Name  说明:ID为主键是类别1的ID值,Name为类别1的名称 '类别2表名称:aa  字段:ID,aID,Name  说明:ID为主键是类别2的ID值,aID为所属类别1的ID值,Name为类别2的名称 '类别3表名称:aaa  字段:ID,aID,aaID,Name  说明:ID为主键是类别3的ID值,aID为所属类别1的ID值,aaID为所

javascript 省份城市地区三级联动菜单

网页特效 省份城市地区三级联动菜单 <select id="user_shen" name="user_shen" tabindex="10" onchange="changeprovince();" alt="省份:无内容"  >  <option value="0">请选择省份</option>  <option value="北京

我的ASP之旅—二级联动菜单制作

菜单|联动菜单|菜单|联动菜单  这个问题其实已经蛮老了,不过作为刚学ASP3个月的我来说,还是有必要写下来强化自己的基础知识.         就拿最常用的"省市下拉列表联动"作为例子吧!         在我们制作网站会员注册信息时,一般会涉及到填写自己所在省/市,如果用input或textarea做成填写形式不太理想.所以大部分网站都会选择联动下来列表形式,做起来也不算很复杂,同时看上去也很轻松.         具体做法如下:         1.设计数据库         我

jQuery实现的省市县三级联动菜单效果完整实例_jquery

本文实例讲述了jQuery实现的省市县三级联动菜单效果.分享给大家供大家参考,具体如下: 运行效果截图如下: 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/

原生js三级联动的简单实现代码_javascript技巧

实例如下: <!DOCTYPE html> <head> <title> 三级联动 </title> <meta charset="utf-8"> </head> <body> <script> window.onload = function() { console.log(city) var oDiv = document.getElementById("div");