TP5 ajax地图三级联动

1.静态页面内容

<div class="row cl">
            <label class="form-label col-xs-4 col-sm-2">所在城市:</label>
            <div class="formControls col-xs-4 col-sm-7"> <span class="select-box">
                    <select name="prov" class="input-text" style="width: 150px;" id="prov">
                        <option value="0">==选择省==</option>
                        {volist name='prov' id='vo'}
                        <option {if condition="isset($data.prov) && $data.prov == $vo.id"} selected="selected" {/if} value="{$vo.id}">{$vo.name}</option>
                        {/volist}
                    </select>
                    <select name='city' class="input-text" style="width: 150px;" id="city">
                        <option value="0">==选择市==</option>
                        {volist name='city' id='vo'}
                        <option {if condition="isset($data.city) && $data.city == $vo.id"} selected="selected" {/if} value="{$vo.id}">{$vo.name}</option>
                        {/volist}
                    </select>
                    <select name='country' class="input-text" style="width: 150px;" id="country">
                        <option value="0">==选择区==</option>
                        {volist name='country' id='vo'}
                        <option {if condition="isset($data.country) && $data.country == $vo.id"} selected="selected" {/if} value="{$vo.id}">{$vo.name}</option>
                        {/volist}
                    </select>
                </span>
            </div>
        </div>

2.js内容

 $("#prov").change(function () {
        var code = $(this).val();
        $.getJSON("{:url('sonarea')}", {pid: code}, function (data) {
            var options = "<option value='0'>==选择市==</option>";
            $.each(data, function (i, area) {
                options += "<option  value='" + area.id + "'>" + area.name + "</option>"
            });
            $("#city").html(options);
        });
    });
    $("#city").change(function () {
        var code = $(this).val();
        $.getJSON("{:url('sonarea')}", {pid: code}, function (data) {
            var options = "<option value='0'>==选择区==</option>";
            $.each(data, function (i, area) {
                options += "<option  value='" + area.id + "'>" + area.name + "</option>"
            });
            $("#country").html(options);
        });
    });
3.控制器里写
  public function sonarea($pid = 0)
    {
        return json(City::child($pid));
    }

4.模型里写

 public static function child($pid = 0) {
        return self::field('id, name')->where('pid', $pid)->select();

    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值