ajax-模板引擎综合运用-省市县三级联动

1.功能介绍:

不用怎么说,比较常见的一个业务,通过调用第三方接口进行数据的获取,再也不用像之前一样啥都不知道,一点点的进行数据填充了

2.页面简单展示

页面比较丑,将就着看吧
在这里插入图片描述

3.具体实现详解分析

1.引入相关jQuery和template.js文件

2.相关的后端PHP文件(这是之前写好的,先不过多的赘述)

3.页面布局

<body>
    <div id="container">
        <label>
            省:<select id="province">
                <option>请选择省...</option>
            </select>
        </label>
        <label>
            市:<select id="city">
                <option>请选择市...</option>
            </select>
        </label>
        <label>
            县:<select id="county">
                <option>请选择县...</option>
            </select>
        </label>
    </div>
</body>

4.script标签内的代码详解

 <script>
        $(function() {
            //公用方法
            function queryData(obj, callback) {
                $.ajax({
                    type: 'get',
                    url: //这个url是自己电脑上的文件存放路径
                    'http://localhost/ajax_mubanyinqing/summary/select.php',
                    data: obj,
                    dataType: 'json',
                    success: function(data) {
                        callback(data);
                    }
                });
            }
            //加载省级数据
            queryData({
            //:flag,用来区分请求的是省市县中间的那种数据(1:省,2:市;3:县)
    //2、参数二:选择省的时候传递pId,选择市的时候传递cId
                flag: 1,
            }, function(data) {
            //刚开始是option里面是没有任何内容额
                var option = ' ';
                //对数据进行遍历
                $.each(data, function(i, e) {
                    option += '<option value="' + e.id + '">' + e.province + '</option>';
                });
                //把省的数据追加到option标签内
                $("#province").append(option);
            });
            //当选中省的时候就触发
            $("#province").change(function() {
                $("#city").find('option:gt(0)').remove();
                queryData({
                    flag: 2,
                    pId: $(this).val()
                }, function(data) {
                    var option = ' ';
                    $.each(data, function(i, e) {
                        option += '<option value="' + e.id + '">' + e.city + '</option>';
                    });
                    $("#city").append(option);

                });

            });
            $("#city").change(function() {
                $("#county").find('option:gt(0)').remove();
                queryData({
                    flag: 3,
                    cId: $(this).val()
                }, function(data) {
                    var option = ' ';
                    $.each(data, function(i, e) {
                        option += '<option value="' + e.id + '">' + e.county + '</option>';
                    });
                    $("#county").append(option);

                });

            });


        })
    </script>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值