Ajax实现简单下拉选项效果【推荐】

基本都是固定步骤!主要在JAVASCRIPT和PHP中的操作

1、HTML代码里就只有两个SELECT标签如下:

<select id="province">
  <option>请选择</option>
 </select>
 <select id="city">
  <option>请选择</option>
 </select>

2、Javascript中进行创建选项和执行AJAX异步请求步骤如下

<script>
  var xhr = getXhr();
  // 第一次执行Ajax异步请求 - 省份
  window.onload = function(){
    xhr.open("get","finaly.php?state=1");
    xhr.send(null);
    xhr.onreadystatechange = function(){
    if(xhr.readyState==4&&xhr.status==200){
        var data = xhr.responseText;
        // 将字符串转换为数组
        var provinces = data.split(",");
        // 遍历数组
        for(var i=0;i<provinces.length;i++){
          // 创建option元素添加到id为province元素上
          var option = document.createElement("option");
          var text = document.createTextNode(provinces[i]);
          option.appendChild(text);
          var province = document.getElementById("province");
          province.appendChild(option);
        }
      }
    }
  }
  // 第二次执行Ajax异步请求 - 城市
  var provinceEle=document.getElementById("province");
  provinceEle.onchange = function(){
    var city = document.getElementById("city");
    var opts = city.getElementsByTagName("option");
    for(var z=opts.length-1;z>0;z--){
      city.removeChild(opts[z]);
    } 

    if(province.value != "请选择"){
      xhr.open("post","finaly.php");
      xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
      xhr.send("province="+province.value);
      xhr.onreadystatechange = function(){
        if(xhr.readyState==4&&xhr.status==200){
          var data = xhr.responseText;
          var cities = data.split(",");
          for(var i=0;i<cities.length;i++){
            var option = document.createElement("option");
            var text = document.createTextNode(cities[i]);
            option.appendChild(text); 

            city.appendChild(option);
          }
        }
      }
    } 

  } 

  function getXhr(){
    var xhr = null;
    if(window.XMLHttpRequest){
      xhr = new XMLHttpRequest();
    }else{
      xhr = new ActiveXObject("Microsoft.XMLHttp");
    }
    return xhr;
  }
 </script>

3、PHP代码如下:文件名为:finaly.php与JS中:xhr.open(method,url)方法的url对接!

<?php
  // 接收客户端发送的请求数据 - state
  $state = $_REQUEST['state'];
  // 判断$state的值
  if($state == 1){// 获取省份
    echo '山东省,辽宁省,吉林省';
  }else{// 获取城市
    $province = $_POST['province'];
    switch ($province){
      case '山东省':
        echo '青岛市,济南市,威海市,日照市,德州市';
        break;
      case '辽宁省':
        echo '沈阳市,大连市,铁岭市,丹东市,锦州市';
        break;
      case '吉林省':
        echo '长春市,松原市,吉林市,通化市,四平市';
        break;
    }
  }
?>

关键就是如何实现AJAX异步交互:参考JS代码。可以说的固定步骤。

以上这篇Ajax实现简单下拉选项效果【推荐】就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Ajax实现简单下拉选项效果【推荐】

    基本都是固定步骤!主要在JAVASCRIPT和PHP中的操作 1.HTML代码里就只有两个SELECT标签如下: <select id="province"> <option>请选择</option> </select> <select id="city"> <option>请选择</option> </select> 2.Javascript中进行创建选项和执行AJAX

  • Ajax实现列表无限加载和二级下拉选项效果

    Ajax做列表无限加载和Ajax做二级下拉选项,供大家参考,具体内容如下 //栏目Ajax做加载 public function ajaxlist(){ //echo "http://www.域名.com/index.php?a=Index&c=Index&m=ajaxlist"; //echo "<hr>"; $data = Q('sum'); $where = array(); $where['cid'] = 33; $rongyuL

  • jQuery实现简单下拉导航效果

    本文实例讲述了jQuery实现简单下拉导航效果.分享给大家供大家参考.具体如下: 这里粗略做一款基于jquery的下拉导航菜单效果,我觉得挺不错,虽然没有怎么美化,但是代码易懂,另外修补的空间也比较大,相信对学习CSS以及jquery的朋友有不小的帮助. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/jquery-xl-down-show-nav-codes/ 具体代码如下: <!DOCTYPE HTML> <html> <

  • jquery实现简单下拉菜单效果

    本文用简单的几行jquery代码实现简单的下拉菜单效果,供大家参考,具体内容如下 看效果 html <ul>     <li>       主题市场       <ul>         <li>           运动派           <ul>             <li>三级菜单a</li>             <li>三级菜单b</li>             <li&

  • ajax三级联动下拉菜单效果

    ajax写三级联动,先写一个文件类吧,以后用的时候直接调用即可: 来找一张表: 实现: 中国地域的三级联动:省.市.区: 图: 说一下思路: (1)当用户选择省份的时候触发事件,把当前的省份的id通过ajax发出请求传递到服务端的程序中 (2)比如取中国地域,中国是0001,那么自带号为0001的便是中国地域: 北京的代号为11,那么子代号为11的便是北京时的市区, 也就是说根据主代号查询子代号: (3)服务端根据客户端的请求,查询数据库,并按照一定的格式返回给客户端 显示页面非常简单,只需要一

  • ajax实现动态下拉框示例

    许多页面上都涉及有下拉框,即select标签.对于简单的下拉框,被选择的数据是不需要改变的,我们可以用<option></option>写死.这样下拉框的数据永远都是那几条. 示例: <select> <option>信息一</option> <option>信息二</option> <option>信息三</option> <option>信息四</option> <

  • jquery实现简单的二级导航下拉菜单效果

    本文实例讲述了jquery实现简单的二级导航下拉菜单效果.分享给大家供大家参考.具体如下: jQuery代码实现的二级导航菜单效果,非常简洁,喜欢简洁风格的朋友您可以下载哦.菜单最多支持两级,CSS的配合也是挺重要的,不多说了,要代码的就直接复制吧. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/jquery-2jxl-menu-codes/ 具体代码如下: <title>jquery二级导航菜单</title> <styl

  • Ajax+Servlet实现无刷新下拉联动效果

    下拉联动的功能可以说非常的常用,例如在选择省.市等信息的时候:或者在选择大类.小类的时候.总之,下拉联动很常用.今天就跟大家分享一个简单的二级下拉联动的功能. 大类下拉框:页面加载的时候就初始化大类的下拉选项,通过后台代码去数据库里面取得数据(当然像省市这样不变的内容可以直接给值),然后加载到下拉选项中. <select name="region" class="select1" id="BigClass" onchange="s

  • JavaScript实现非常简单实用的下拉菜单效果

    本文实例讲述了JavaScript实现非常简单实用的下拉菜单效果.分享给大家供大家参考.具体如下: 这是一款实用的JS下拉菜单,鼠标移上菜单就显示出二级菜单,是从其它网站上整理下来的,修改花了不少时间,现在去除了一些无用代码,更简洁了,而且代码兼容性似乎也表现不错,这款两级下拉菜单,基本是由CSS和JavaScript共同实现的,真的挺简洁实用. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-css-down-show-menu-code

  • PHP+Jquery与ajax相结合实现下拉淡出瀑布流效果【无需插件】

    导读: 瀑布流,又称瀑布流式布局.是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部.最早采用此布局的网站是Pinterest,逐渐在国内流行开来.国内大多数清新站基本为这类风格,像花瓣网.蘑菇街.美丽说等. 不废话,直接上代码,整段代码分为前后两段代码,具体代码如下所示. 前台: <?php <br>$category=$this->getMyVal('category',$_GET);<br>

随机推荐