cityAreaSelect.js使用说明

 一、简介

该JS为省市区选择插件,当前最新版本为1.0,插件中地区数据更新于2024年07月02日,插件不依赖第三方JS,可独立使用。

github地址:https://github.com/TammyViola/cityAreaSelect

 

二、CSS和JS引用

PS:样式可根据项目实际情况进行调整

<link href="./dist/css/cityAreaSelect.css" rel="stylesheet" type="text/css"/>
...
<script type="text/javascript" src="./dist/js/cityAreaSelect.min.js"></script>

三、html编写及对应JS调用

1. 省市区-select控件-3级联动

1)html代码:

<div class="cityAreaSelect-group row">
 <div class="cityAreaSelect-item col-md-4">
 <select class="cityAreaSelect-select" id="provinceSelect1">
 <option value="">请选择省/直辖市</option>
 </select>
 </div>
 <div class="cityAreaSelect-item col-md-4">
 <select class="cityAreaSelect-select" id="citySelect1">
 <option value="">请选择城市/区</option>
 </select>
 </div>
 <div class="cityAreaSelect-item col-md-4">
 <select class="cityAreaSelect-select" id="areaSelect1">
 <option value="">请选择区/县</option>
 </select>
 </div>
</div>

2)JS代码:

const pcaSelect1 = new ProvinceCityAreaSelect({
 addrValElem: ['provinceSelect1', 'citySelect1', 'areaSelect1'],
 onInit: function(provinceSelect, citySelect, areaSelect){
 //console.log(provinceSelect+', '+citySelect+', '+areaSelect)
 },
 onSelected: function(provinceVal, cityVal, areaVal){
 //console.log(provinceVal+', '+cityVal+', '+areaVal)
 }
});

 

2. 省市-select控件-2级联动

1)html代码:

<div class="cityAreaSelect-group row">
 <div class="cityAreaSelect-item col-md-6">
 <select class="cityAreaSelect-select" id="provinceSelect2">
 <option value="">请选择省/直辖市</option>
 </select>
 </div>
 <div class="cityAreaSelect-item col-md-6">
 <select class="cityAreaSelect-select" id="citySelect2">
 <option value="">请选择城市/区</option>
 </select>
 </div>
</div>

2)JS代码:

const pcaSelect2 = new ProvinceCityAreaSelect({
 addrValElem: ['provinceSelect2', 'citySelect2']
});

 

3. 省市区-自定义div控件-3级联动

1)html代码:

<div class="cityAreaSelect-group row">
 <div class="cityAreaSelect-item col-md-4">
 <div class="cityAreaSelect-custom-box">
 <input type="text" hidden class="cityAreaSelect-input" id="provinceSelect3">
 <div class="cityAreaSelect-text">请选择省/直辖市</div>
 </div>
 </div>
 <div class="cityAreaSelect-item col-md-4">
 <div class="cityAreaSelect-custom-box">
 <input type="text" hidden class="cityAreaSelect-input" id="citySelect3">
 <div class="cityAreaSelect-text">请选择城市/区</div>
 </div>
 </div>
 <div class="cityAreaSelect-item col-md-4">
 <div class="cityAreaSelect-custom-box">
 <input type="text" hidden class="cityAreaSelect-input" id="areaSelect3">
 <div class="cityAreaSelect-text">请选择区/县</div>
 </div>
 </div>
</div>

2)JS代码:

const pcaSelect3 = new ProvinceCityAreaSelect({
 addrValElem: ['provinceSelect3', 'citySelect3', 'areaSelect3'],
 onSelected: function(provinceVal, cityVal, areaVal){
 //console.log(provinceVal+', '+cityVal+', '+areaVal)
 }
});

 

4. 省市区-自定义div控件-2级联动

1)html代码:

<div class="cityAreaSelect-group row">
 <div class="cityAreaSelect-item col-md-6">
 <div class="cityAreaSelect-custom-box">
 <input type="text" hidden class="cityAreaSelect-input" id="provinceSelect4">
 <div class="cityAreaSelect-text">请选择省/直辖市</div>
 </div>
 </div>
 <div class="cityAreaSelect-item col-md-6">
 <div class="cityAreaSelect-custom-box">
 <input type="text" hidden class="cityAreaSelect-input" id="citySelect4">
 <div class="cityAreaSelect-text">请选择城市/区</div>
 </div>
 </div>
</div>

2)JS代码:

const pcaSelect4 = new ProvinceCityAreaSelect({
 addrValElem: ['provinceSelect4', 'citySelect4']
});

 

5. 省市区-自定义div控件-多级合并

1)html代码:

<div class="cityAreaSelect-wrapper">
 <div class="cityAreaSelect-group row">
 <div class="cityAreaSelect-item col-md-8">
 <div class="cityAreaSelect-merge-box">
 <input type="text" hidden class="cityAreaSelect-input" id="provinceSelect5">
 <div class="cityAreaSelect-text">请选择省市区</div>
 </div>
 </div>
 </div>
</div>

2)JS代码:

const pcaSelect5 = new ProvinceCityAreaSelect({
 addrValElem: 'provinceSelect5',
 separator: '-',
 onInit: function(provinceSelect, citySelect, areaSelect){
 //console.log(provinceSelect+', '+citySelect+', '+areaSelect)
 },
});

3)效果预览:

四、参数说明

参数值参数值类型默认值说明
addrValElemString / Arraynull

1. Array类型:省市区控件Id,例如:['provinceSelect1', 'citySelect1', 'areaSelect1']

2. String类型:自定义div省市区多级合并时使用,参数值为隐藏域input的Id,例如: 'cityAreaInput'

separatorString' '(空格符)

自定义div省市区多级合并时使用,自定义省市区地名间的间隔连接符号;

例如:separator: '-' (北京市-东城区)

provinceWordString'请选择省/直辖市'省/市占位提示语
cityWordString'请选择城市/区'市/区占位提示语
areaWordString'请选择区/县'区/县占位提示语
mergeWordString'请选择省市区'

1. 省市区合并时且web端才有效,其他时候无效;

2. 省市区合并显示控件占位提示语

onInitFunctionnull

JS初始加载后回调,可返回省市区控件id值

onSelectedFunctionnull

省市区选择后回调,可返回省市区当前值value

 

五、Events事件

1. onInit :初始加载后回调

该参数为插件初始加载后回调,可返回省市区控件id值。

const pcaSelect = new ProvinceCityAreaSelect({
 addrValElem: ['provinceSelect', 'citySelect', 'areaSelect'],
 onInit: function(provinceSelect, citySelect, areaSelect){
 //console.log(provinceSelect+', '+citySelect+', '+areaSelect)
 }
});

 

2. onSelected : 省市区选择后回调

该参数为插件 省市区选择后回调,可返回省市区当前值value。

const pcaSelect = new ProvinceCityAreaSelect({
 addrValElem: ['provinceSelect', 'citySelect', 'areaSelect'],
 onSelected: function(provinceVal, cityVal, areaVal){
 //console.log(provinceVal+', '+cityVal+', '+areaVal)
 }
});

 

作者:枫Maple原文地址:https://www.cnblogs.com/TammyBlog/p/18296123

%s 个评论

要回复文章请先登录注册