zoukankan      html  css  js  c++  java
  • ajax 实现两级级联下拉列表

    <html>
    <head>
    <script type="text/javascript">


    //Ajax实现下拉框二级级联,根据第一个下拉框的值改变第二个下拉框内的列表

    //根据浏览器的类型,创建xmlHttpRequest对象
    function createXmlHttpRequest()
    {
    if(window.ActiveXObject)
    {
    return new ActiveXObject("Microsoft.XMLHTTP");
    }
    else if( window.XMLHttpRequest())
    {
    return new XMLHttpRequest();
    }
    }
    var xmlHttpRequest;

    //异步响应函数
    function search(para)
    {
    var url="/search?para="+para; //后台请求的路径

    xmlHttpRequest=createXmlHttpRequest();

    xmlHttpRequest.onreadystatechange=callback; //将回调函数注册给状态改变事件

    xmlHttpRequest.open("GET",url,true);

    xmlHttpRequest.send(null);

    }

    //回调函数
    function callback()
    {
    var dlCity=document.getElementById("city");

    //请求被成功响应,已接收到结果
    if(xmlHttpRequest.readyState==4&&xmlHttpRequest.status==200)
    {
    var result=xmlHttpRequest.responseText; //返回的结果字符串
    //var result = "哈尔滨|大庆||鹤岗|佳木斯|牡丹江";

    var cityArray= result.split("|"); //返回的结果字符串中,值之间是以|分隔的,所以先拆分成数组
    var count = cityArray.length;
    dlCity.length=0; //先将下拉列表框清空
    for (var i = 0; i <count; i++)
    {
    dlCity.options.add(new Option(cityArray[i], cityArray[i])); //将结果循环添加到下拉列表中
    }

    }
    else
    {
    dlCity.length=0;
    dlCity.options.add(new Option("请等待...","-1"));
    }

    }

    //下拉框改变事件
    function changeCityOptions()
    {
    var dlProvince=document.getElementById("province");
    var dlCity=document.getElementById("city");
    dlCity.length=0;
    if(dlProvince.value==-1)
    {
    dlCity.options.add(new Option("城市列表","-1"));
    }
    else
    {
    search(dlProvince.value);
    }
    return;
    }
    </script>
    </head>
    <body>
    <select name="province" id="province" onchange="changeCityOptions()">
    <option value="-1">选择省份</option>

    <option value="1">黑龙江</option>

    <option value="2">吉林</option>
    </select>
    <select name="city" id="city">
    <option value="-1">城市列表</option>
    </select>
    </body>
    </html>

  • 相关阅读:
    十的次方——挖掘并非显而易见的观点与想法
    6-3-5式脑力接龙
    三个臭皮匠,顶上一个诸葛亮——在Google Ideathon上Design Thinking分享
    上瘾:如何打造习惯养成中的产品(投资篇)
    上瘾:如何打造习惯养成中的产品(奖励篇)
    上瘾:如何打造习惯养成中的产品(行动篇)
    上瘾:如何打造习惯养成中的产品(触发器篇)
    上瘾:如何打造习惯养成中的产品
    告别2013拥抱2014
    Design Thinking Workshop @ Agile Tour 2013 Shanghai
  • 原文地址:https://www.cnblogs.com/hasayaki/p/2859411.html
Copyright © 2011-2022 走看看