zoukankan      html  css  js  c++  java
  • ajax实现dropdownlist无刷新二级联动

    html 代码:

    <asp:DropDownList ID="ddlSort" runat="server" onchange="changeSelect(this.value);">
    </asp:DropDownList>
    &nbsp;&nbsp;
    <asp:DropDownList ID="ddlSort2" runat="server" AutoPostBack="true">
    <asp:ListItem Value="0" runat="server">选择二级分类</asp:ListItem>
    </asp:DropDownList>
    &nbsp;&nbsp;


    js代码:

    function changeSelect(selectId) {
    $.post("/Admin/ajax/ShowSort2.aspx", { "id": selectId }, function (data) {

    var xSel = data.getElementsByTagName("select");
    //获得XML文档中的所有<select>标记
    var select_root = document.getElementById("ddlSort2");
    //获得网页中的第二个下拉框
    select_root.options.length = 0;
    //每次获得新的数据的时候先把每二个下拉框架的长度清0

    // var option1 = new Option("选择二级分类", "0");
    $("#ddlSort2").append("<option value='0'>选择二级分类</option>");

    for (var i = 0; i < xSel.length; i++) {
    var xValue = xSel[i].childNodes[0].firstChild.nodeValue;
    //获得每个<select>标记中的第一个标记的值,也就是<value>标记的值
    var xText = xSel[i].childNodes[1].firstChild.nodeValue;
    //获得每个<select>标记中的第二个标记的值,也就是<text>标记的值

    $("#ddlSort2").append("<option value=" + xValue + ">" + xText + "</option>");
    // var option = new Option(xText, xValue);
    // //根据每组value和text标记的值创建一个option对象

    // select_root.add(option); //将option对象添加到第二个下拉框中
    }


    });
    }

    ajax代码

    object id = Request["id"];
    if (id != null && id.ToString() != "")
    {
    if(StringHelper.IsInt(id.ToString()))
    {
    List<Cpsort2Model> list = new List<Cpsort2Model>();
    list = CpsortManager.GetCpsort2BySortid(Convert.ToInt32(id.ToString()));

    Response.ContentType = "text/xml";
    Response.HeaderEncoding = System.Text.Encoding.GetEncoding("gb2312");

    String xml_start = "<selects>";
    String xml_end = "</selects>";
    String xml = "";

    for (int i = 0; i < list.Count; i++)
    {
    xml += "<select><value>"+list[i].Id2+"</value><text>"+list[i].Cpsort2+"</text></select>";
    }

    String last_xml = xml_start + xml + xml_end;
    Response.Write(last_xml);

    }
    }



    经验在于积累----武二郎
  • 相关阅读:
    Access导入MSSQL SERVER
    Centos8停用、启用、查看当前启用的端口
    CentOS下使用VI
    CentOS关机与重启命令
    华为云CentOS8安装FTP
    华为云CentOS8安装JDK
    华为云CentOS8安装Nginx
    华为云CentOS8安装Redis
    华为云CentOS8安装MYSQL
    oracle 本地导入imp bat的写法
  • 原文地址:https://www.cnblogs.com/zhanghai/p/4461210.html
Copyright © 2011-2022 走看看