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

    
    
    // 初始化地址列表
    addressInit();
    
    function addressInit() {
            $.get('order.php?act=address', function (resp) {
                // 测试是否存在收货地址
                if (0 == resp.data.length) {
                    return false;
                }
                //展示地址
                $('#al_01').empty();
    
                $.each(resp.data, function (i, address) {
                    var option = '<li>';
                    option += '<span>'+address.consignee+'</span>';
                    option += '<span id='+address.address_id+'>'+address.r1_title+' '+address.r2_title+' '+address.r3_title+' '+address.address+' '+address.mobile;
                    option += '</span>';
                    option += '<a href="javascript:del_add('+address.address_id+')">删除</a>';
                    option += '<a href="javascript:edit_add('+address.address_id+')" class="click_pop">修改</a>';
                    option += '</li>';
                    $('#al_01').append(option);
                });
            }, 'json');
        }
    
    
    function setRegion(id, level) {
            // 下个级别
            var next = +level + 1;
    
            // 设置最大地区
            var maxLevel = 3;
    
            // ajax获取子地区
            $.get('order.php?act=child', {region_id: id}, function (resp) {
                $('#input-address-region_id_' + next + '>option:gt(0)').remove();
                $.each(resp.region, function (i, region) {     // option += address.is_last == '1' ? ' selected' : '';
                    var option = '<option value="' + region.region_id + '">';
                    option += region.region_name;
                    option += '</option>';
                    // 加入select(next)
                    $('#input-address-region_id_' + next).append(option);
                });
            }, 'json');
    
            //清空 后续的select
            for (var i = next + 1; i <= maxLevel; ++i) {
                $('#input-address-region_id_' + i + '>option:gt(0)').remove();
            }
    
        }
    
    
    
    $(function () {
            // 初始化1级地区
            setRegion(1, 0);
            // 绑定select的change事件
            $('select[id^=input-address-region_id_]').change(function () {
                // 请选择, 不触发
                if ('' == $(this).val()) {
                    return;
    
                }
                setRegion($(this).val(), $(this).data('level'));
            });
    })
    
    
    
     
    <li>
                    <label class="left"><b>*</b> 所在地区:</label>
                    <div class="formlisttext" id="add">
                        <select class="small-input" name="region_id_1" id="input-address-region_id_1" data-level="1">
                            <option value=""> 请选择 </option>
                        </select>
                        <select class="small-input" name="region_id_2" id="input-address-region_id_2" data-level="2">
                            <option value=""> 请选择 </option>
                        </select>
                        <select class="small-input" name="region_id_3" id="input-address-region_id_3" data-level="3">
                            <option value=""> 请选择 </option>
                        </select>
                    </div>
                </li>
    
    
    
    function action_child(){
        # 获取会员id
        $db = $GLOBALS['db'];
        $ecs = $GLOBALS['ecs'];
        $user_id = $_SESSION['user_id'];
        if(isset($_GET['address_id'])){
            # 地址列表
            $add_sql = "select a.*, r1.region_name as r1_title, r2.region_name as r2_title, r3.region_name as r3_title  from"
                .$ecs->table('user_address')." as a left join "
                .$ecs->table('region')." as r1 on a.province=r1.region_id left join "
                .$ecs->table('region')." as r2 on a.city=r2.region_id left join "
                .$ecs->table('region')." as r3 on a.district=r3.region_id "
                ." where a.user_id=".$user_id." AND a.address_id=".$_GET['address_id'];
            $address_list = $db->getRow($add_sql);
        }
    
        if(isset($_GET['region_id'])){
            $id = $_GET['region_id'];
            $sql = "select * from".$ecs->table('region').' where parent_id='.$id;
            $rows = $db->getAll($sql);
        }else{
            $sql = "select * from".$ecs->table('region');
            $rows = $db->getAll($sql);
        }
    
        $arr = array('add'=>$address_list,'region'=>$rows);
        echo json_encode($arr);
        die;
    }
    
    
    
    function action_address()
    {
        # 获取会员id
        $db = $GLOBALS['db'];
        $ecs = $GLOBALS['ecs'];
        $user_id = $_SESSION['user_id'];
    
        # 地址列表
        $add_sql = "select a.*, r1.region_name as r1_title, r2.region_name as r2_title, r3.region_name as r3_title  from"
            .$ecs->table('user_address')." as a left join "
            .$ecs->table('region')." as r1 on a.province=r1.region_id left join "
            .$ecs->table('region')." as r2 on a.city=r2.region_id left join "
            .$ecs->table('region')." as r3 on a.district=r3.region_id "
            ." where a.user_id=".$user_id." and status=0";
        $address_list = $db->getAll($add_sql);
        echo json_encode(array('data' => $address_list));
    }
  • 相关阅读:
    java TreeSet的排序之定制排序
    java TreeSet的排序之自然排序
    java TreeSet
    java Set接口(元素不可以重复)
    poj 3735 Training little cats(构造矩阵)
    进程创建/退出父子关系的调整
    安装R语言的包的方法
    项目搭建之路(上)
    为什么百度首页的HTML源代码最后一行要多一行?浪费空间呀!
    机器学习之梯度下降法
  • 原文地址:https://www.cnblogs.com/SofuBlue/p/8148832.html
Copyright © 2011-2022 走看看