当前位置:编程学习 > C#/ASP.NET >>

求一 联动菜单JS 代码

<asp:DropDownList ID="d1" runat="server"></asp:DropDownList>
<asp:DropDownList ID="d2" runat="server"></asp:DropDownList>

实现以上两个下拉框联动 
要求JS代码,是放在单独文件里如js.js 调用

第一个下拉框列表也是从JS里加载的,各位大哥帮帮忙


--------------------编程问答-------------------- 网上找很多 --------------------编程问答-------------------- JS代码自己封装吧。
http://blog.csdn.net/wxg22526451/archive/2008/04/24/2323244.aspx
--------------------编程问答--------------------
http://www.webjx.com/htmldata/2005-10-15/1129345932.html

给你找了个,自己去网页上看
--------------------编程问答-------------------- 不需要用到ajax吧

我的下拉列表没有存在数据库当中,是存在JS文件当中

因为很多地方要用到这个文件

--------------------编程问答-------------------- 给你一个控件.不一定要用js,这个源码少很干净.以后直接调控件用就行了.
先填加一个自定义控件
然后把下面代码贴上去.

<%--易做图联动菜单--%>
<asp:ScriptManager id="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="upPCC" runat="server">
                <ContentTemplate>
<asp:DropDownList ID="ddlProvince" runat="server" AppendDataBoundItems="True" AutoPostBack="True"
            DataSourceID="XmlDataSource1" DataTextField="pname" DataValueField="pname" OnSelectedIndexChanged="ddlProvince_SelectedIndexChanged">
            <asp:ListItem Selected="True">省份</asp:ListItem>
        </asp:DropDownList><asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/xml/Citys.xml"
            XPath="//Province"></asp:XmlDataSource>
         
        <asp:DropDownList ID="ddlCity" runat="server" AppendDataBoundItems="True" AutoPostBack="True"
            DataSourceID="XmlDataSource2" DataTextField="cname" DataValueField="cname" OnSelectedIndexChanged="ddlCity_SelectedIndexChanged">
            <asp:ListItem Selected="True">区市</asp:ListItem>
        </asp:DropDownList><asp:XmlDataSource ID="XmlDataSource2" runat="server" DataFile="~/xml/Citys.xml"
            XPath="//Province[@pname='']/City"></asp:XmlDataSource>
        <asp:DropDownList ID="ddlCounty" runat="server" AppendDataBoundItems="True" DataSourceID="XmlDataSource3"
            DataTextField="name" DataValueField="name">
            <asp:ListItem Selected="True">县市</asp:ListItem>
        </asp:DropDownList><asp:XmlDataSource ID="XmlDataSource3" runat="server" DataFile="~/xml/Citys.xml"
            XPath="//Province[@pname='']/City[@cname='']/County"></asp:XmlDataSource>
</ContentTemplate></asp:UpdatePanel>


现在把下面代码贴到后台
protected System.Web.UI.WebControls.Literal Group;

    protected void Page_Load(object sender, EventArgs e)
    {
        

    }
    protected void ddlProvince_SelectedIndexChanged(object sender, EventArgs e)
   {
        ddlCity.Items.Clear();
        ddlCity.Items.Add("地市");
        ddlCity.DataTextField = "cname";
        ddlCity.DataValueField = "cname";
        XmlDataSource2.XPath = "//Province[@pname='" + ddlProvince.SelectedValue + "']/City";
        ddlCounty.Items.Clear();
        ddlCounty.Items.Add("县市");
    }
    protected void ddlCity_SelectedIndexChanged(object sender, EventArgs e)
    {
        ddlCounty.Items.Clear();
        ddlCounty.Items.Add("县市");
        ddlCounty.DataTextField = "name";
        ddlCounty.DataValueField = "name";
        XmlDataSource3.XPath = "//Province[@pname='" + ddlProvince.SelectedValue + "']/City[@cname='" + ddlCity.SelectedValue + "']/County";
    }

这是对应的xml文件
?xml version="1.0" encoding="utf-8"?>
<PCitys>
    <Province pname="北京市">
      <City cname="市辖区">
        <County name="东城区"/>
        <County name="西城区"/>
             </City>
      <City cname="县">
        <County name="密云县"/>
        <County name="延庆县"/>
      </City>
    </Province>
    <Province pname="天津市">
      <City cname="市辖区">
        <County name="和平区"/>
        <County name="河东区"/>
     </City>
      <City cname="县">
        <County name="宁河县"/>
        <County name="静海县"/>
        <County name="蓟 县"/>
      </City>
    </Province>
</PCitys>
--------------------编程问答-------------------- 楼上说的控件在哪里呢?

--------------------编程问答-------------------- 自定义.你用是vs吗?
填加新项->选择web用户控件. --------------------编程问答-------------------- 是用VS 2005
asp:ScriptManager 


asp:UpdatePanel 

这两个是什么东西呢? --------------------编程问答--------------------
引用 2 楼 wxg22526451 的回复:
JS代码自己封装吧。 
http://blog.csdn.net/wxg22526451/archive/2008/04/24/2323244.aspx 
--------------------编程问答--------------------
引用 7 楼 ghghg008 的回复:
自定义.你用是vs吗? 
填加新项->选择web用户控件.

asp:ScriptManager 
asp:UpdatePanel 
是ajax控件.在工具箱里,你不要管它.

--------------------编程问答-------------------- 你先把效果做出来,然后慢慢就明白了.很简单,源码少,这就是vs的魅力 --------------------编程问答-------------------- 工具里没上面的控件呀.要先装什么呢? 
--------------------编程问答-------------------- 你用的是什么软件,版本 --------------------编程问答-------------------- VS2005 --------------------编程问答-------------------- 应有啊,是xp吗?我2003.
用的是vs2008.
你工具箱里有ajax栏吗?没有就到网上找一个装上.我的是直接有的. --------------------编程问答-------------------- 很感谢ghghg008兄弟,热心回答,你QQ号码多少? 我加你请教,好不? --------------------编程问答-------------------- 84146426
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,