zoukankan      html  css  js  c++  java
  • Ajax三级联动

    Ajax 三 级 联 动:

    主要实现在下拉列表里中地区的选择


    JS代码:


    // JavaScript Document
    $(document).ready(function(e) {
        
        $("#sj").html("<select id='sheng'></select><select id='shi'></select><select id='qu'></select>"); //制作三个下拉列表
        
        //填充内容
        //1.省
        FillSheng();
        //2.市
        FillShi();    
        //3.区
        FillQu();
        
        //省变化,市区跟着变
        $("#sheng").change(function ()
        {
            
            //改变市
            FillShi();    
            //改变区
            FillQu();
        })
        
        //市变化,区跟着变
        $("#shi").change(function ()
        {
            
            
            
            //改变区
            FillQu();
        })
        
        
        //填充省的方法
        function FillSheng ()
        {
            //找到父级代号
            var Pcode = "0001";
            //调用Ajax
            $.ajax({
                 async:false,
                 url:"5.20cl.php",
                 data:{Pcode:Pcode},
                 type:"POST",
                 dataType:"TEXT",
                 success: function(d)
                 {
                    var str ="";
                    var hang = d.split("|");
                    for(var i = 0 ; i<hang.length;i++)
                    {
                        var lie =hang[i].split("^");
                        str += "<option value='"+lie[0]+"'>"+lie[1]+"</option>";
                    }
                    
                    $("#sheng").html(str);
                 }
                
                
                
                
                  })
        }
        //填充市的方法
            function FillShi ()
        {
            //找到父级代号
            var Pcode = $("#sheng").val(); //市的父级代号 是省的下拉列表中的value值
            //调用Ajax
            $.ajax({
                 async:false,
                 url:"5.20cl.php",
                 data:{Pcode:Pcode},
                 type:"POST",
                 dataType:"TEXT",
                 success: function(d)
                 {
                    var str ="";
                    var hang = d.split("|");
                    for(var i = 0 ; i<hang.length;i++)
                    {
                        var lie =hang[i].split("^");
                        str += "<option value='"+lie[0]+"'>"+lie[1]+"</option>";
                    }
                    
                    $("#shi").html(str);
                     
                 }
                
                
                
                
                  })
        }
        
        //填充区的方法
            function FillQu ()
        {
            //找到父级代号
            var Pcode = $("#shi").val(); //区的父级代号 是市的下拉列表中的value值
            //调用Ajax
            $.ajax({
                 async:false,
                 url:"5.20cl.php",
                 data:{Pcode:Pcode},
                 type:"POST",
                 dataType:"TEXT",
                 success: function(d)
                 {
                    var str ="";
                    var hang = d.split("|");
                    for(var i = 0 ; i<hang.length;i++)
                    {
                        var lie =hang[i].split("^");
                        str += "<option value='"+lie[0]+"'>"+lie[1]+"</option>";
                    }
                    
                    $("#qu").html(str); 
                 }
                
                
                
                
                  })
        }
    });

    PHP处理代码:


    <?php
    
    $Pcode = $_POST["Pcode"];
    include ("database.class.php");
    $db = new database();
    
    $sql = "select AreaCode,AreaName,ParentAreaCode from ChinaStates where ParentAreaCode='{$Pcode}'";
    echo $db->str_ajax($sql);

    JS简化代码:


    $(document).ready(function(e) {
        
        $("#sj").html("<select id='sheng'></select><select id='shi'></select><select id='qu'></select>"); //制作三个下拉列表
        
        //填充内容
        //1.省
        Fill ('0001','#sheng');
        //2.市
        Fill ($("#sheng").val(),'#shi');    
        //3.区
        Fill ($("#shi").val(),'#qu');
        
        //省变化,市区跟着变
        $("#sheng").change(function ()
        {
            //改变市
            Fill ($("#sheng").val(),'#shi');    
            //改变区
            Fill ($("#shi").val(),'#qu');
        })
        
        //市变化,区跟着变
        $("#shi").change(function ()
        {
    
            //改变区
            Fill ($("#shi").val(),'#qu');
        })
        
        
        //简便方法
        function Fill (Pcode,id)
        {
            $.ajax({
                
                async:false,
                url:"5.20cl.php",
                data:{Pcode:Pcode},
                type:"POST",
                dataType:"TEXT",
                success: function(d)
                {
                    
                    var str = "";
                    var hang = d.split("|");
                    for(var i = 0; i<hang.length; i++)
                    {
                        var lie = hang[i].split("^");
                        str += "<option value='"+lie[0]+"'>"+lie[1]+"</option>";
                    }
                    $(id).html(str);
                }
                
                
                
                
                })
        }
    
    });
  • 相关阅读:
    nodejs使用nodemailer发送邮件
    nodemaierl以hotmail(微软邮箱)作为发件人时报错554 5.2.0 STOREDRV.Submission.Exception: OutboundSpamException;
    react 项目部署nginx 配置问题(部署在子目录下)
    nodejs之glob与globby
    package-lock.json的作用
    webpack搭建项目流程(纯干货)
    JS-数组遍历中删除元素的方法优化
    递归tree结构的数据(修改antd tree结构的数据)
    【原创】如何优雅的转换Bean对象
    【解决方案】mysql大数据删除
  • 原文地址:https://www.cnblogs.com/Itwonderful/p/5511042.html
Copyright © 2011-2022 走看看