前言
Android实现下拉框二级联动和前端框架Layui实现省市联动源码
提示:以下是本篇文章正文内容,下面案例可供参考
一、Android实现下拉框二级联动
仅取关键源码如下:
res/values/string.xml 中增加
<string-array name="region">
<item>全省</item>
<item>武汉</item>
<item>黄石</item>
<item>十堰</item>
<item>襄阳</item>
<item>鄂州</item>
<item>荆州</item>
<item>荆门</item>
</string-array>
public class CustomerManagementActivity extends AppCompatActivity {
private Context context;
private Spinner sp_region;
private Spinner sp_department;
private String[] rs_region ;//地区数据
private ArrayAdapter<String> adapterDepartment;
private String[][] department = new String[][]{
{
"办公室","行政保卫部""客户服务部","人力资源部","市场拓展部"},
{
"副总经理","政企客户部","办公室","销售服务部"},
{
"综合服务支撑中心","新兴业务中心","销售服务部"},
{
"网络部","办公室","监控中心"},
{
"移动销售部","销售服务部","销售部","城区分局"},
{
"政企客户部","移动销售部","办公室财务","移动业务部"},
{
"销售服务部","财务","移动部","政企客户部","客服中心员工"}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_customer_management);
initView();
setClickListeners();
setRegionSpListeners();
}
private void initView() {
context =this;
titleBar = (CommonTitleBar) findViewById(R.id.titlebar);
sp_region = (Spinner)findViewById(R.id.sp_region);
Resources res = getResources();
rs_region = res.getStringArray(R.array.region);
sp_department = (Spinner)findViewById(R.id.sp_department);
}
private void setRegionSpListeners() {
sp_region.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
int pos =sp_region.getSelectedItemPosition();
//Log.d("p",pos+""+department[pos][0]);
adapterDepartment = new ArrayAdapter<String>(context,android.R.layout.simple_spinner_item,department[pos]);
sp_department.setAdapter(adapterDepartment);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
}
二、Layui实现省市县三级联动
官网:https://github.com/sentsin/layui/
https://gitee.com/sentsin/layui
代码如下
layui.css layui.js layarea模块请先在官网下载
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>layarea</title>
<link rel="stylesheet" href="./layui/css/layui.css">
</head>
<body>
<div class="layui-form">
<div class="layui-form-item" id="area-picker">
<div class="layui-form-label">网点地址</div>
<div class="layui-input-inline" style="width: 200px;">
<select name="province" class="province-selector">
<option value="">--选择省--</option>
</select>
</div>
<div class="layui-input-inline" style="width: 200px;">
<select name="city" class="city-selector">
<option value="">--选择市--</option>
</select>
</div>
<div class="layui-input-inline" style="width: 200px;">
<select name="county" class="county-selector">
<option value="">--选择区--</option>
</select>
</div>
</div>
</div>
<script src="./layui/layui.js"></script>
<script>
//配置插件目录
layui.config({
base: './mods/'
, version: '1.0'
});
//一般直接写在一个js文件中
layui.use(['layer', 'form', 'layarea'], function () {
var layer = layui.layer
, form = layui.form
, layarea = layui.layarea;
let obj1 = layarea.render({
elem: '#area-picker',
change: function (res) {
//选择结果
console.log(res);
}
});
});
</script>
</body>
</html>
结果如下: