🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 城市选择 FastAdmin中集成了强大的`city-picker`城市选择插件,可以很方便的选择省份和城市。 我们只需要简单的为input元素添加一个`data-toggle="city-picker"`属性即可自动渲染相应的城市选择组件 。 我们还可以通过添加以下属性来扩展城市选择组件的功能 | 属性 | 描述 | 示例 | | --- | --- | --- | | data-level | 选择城市的级别,支持province/city/district,默认为district | data-level="city" | | data-simple | 使用简单的地址,比如使用内蒙古替代内蒙古自治区,默认为false | data-simple="true" | | data-responsive | 是否为自适应,默认为false | data-responsive="true" | | placeholder | 默认提示的文字 | placeholder="请选择省/市" | `city-picker`组件默认选择后渲染的是中文城市信息,我们可以通过在JS中监听`city-picker`更新后的事件来获取省份城市地区对应的code值。代码如下: ~~~ $("#city-picker").on("cp:updated", function() { var citypicker = $(this).data("citypicker"); var code = citypicker.getCode("district") || citypicker.getCode("city") || citypicker.getCode("province"); $("#code").val(code); }); ~~~ 如果我们数据库中存放的是地区的code值,在显示时我们则需要把对应的code通过读取数据库转换成我们的地区中文,然后再设定input的value值即可。 ``` <!--由于在初始化中修改了默认值,所以这里需要修改-jsonSpace/jsonValue/jsonName的值--> <div class="form-inline" data-toggle="cxselect" data-url="/assets/libs/fastadmin-cxselect/js/cityData.min.json" data-selects="province,city,area" data-json-space="" data-json-name="n" data-json-value=""> <select class="province form-control" data-first-title="选择省"> <option value="">请选择</option> <option value="浙江省" selected="">浙江省</option> </select> <select class="city form-control" data-first-title="选择市"> <option value="">请选择</option> <option value="杭州市" selected="">杭州市</option> </select> <select class="area form-control" data-first-title="选择地区"> <option value="">请选择</option> <option value="西湖区" selected="">西湖区</option> </select> </div> ``` **类别联动**(Ajax读取数据) ``` <div class="form-inline" data-toggle="cxselect" data-selects="first,second"> <select class="first form-control" name="first" data-url="ajax/category?type=page&amp;pid=5"> <option value="6" selected="">网站建站</option> </select> <select class="second form-control" name="second" data-url="ajax/category" data-query-name="pid"> <option value="9" selected="">移动端</option> </select> </div> ```