FastAdmin中集成了强大的city-picker
城市选择插件,可以很方便的选择省份和城市。
我们只需要简单的为input元素添加一个data-toggle="city-picker"
属性即可自动渲染相应的城市选择组件,如下:
<div class='control-relative'>
<input id="c-city" class="form-control" data-toggle="city-picker" name="row[city]" type="text" value="" />
</div>
我们还可以通过添加以下属性来扩展城市选择组件的功能
属性 | 描述 | 示例 |
---|---|---|
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
值即可。
该组件数据源使用本地数据源,数据源位于public/assets/libs/fastadmin-citypicker/dist/js/city-picker.data.js
更多的使用方法请参考city-picker官方教程