最新jeesite4实现字典数据多级下拉框联动

(一)在字典中添加字典数据
在这里插入图片描述
添加类似这样的二级字典,其中二级字典的编号尽量不要改动,让系统自动根据父级字典自动生成。
(二)修改下拉选项框

<div class="form-group">
					<label class="control-label">${text('所属部门')}</label>
					<div class="control-inline width-120">
						<#form:select path="aac010" dictType="aac010" onchange="categoryChg()" class="form-control required" blankOption="true"/>
					</div>
				</div>
				<div class="form-group">
					<label class="control-label">${text('职务名称')}</label>
					<div class="control-inline width-120">
						<#form:select path="aac014" dictType="aac010" blankOption="true" class="form-control required"/>
					</div>
				</div>

(三)添加jquer页面加载代码

<script>
	var purchaseTypeJson;
	$(function () {
		$.ajax({
			type:"POST",
			url:"${ctx}/sys/dictData/treeData?dictType=aac010",
			dataType:"json",
			success: function(json){
				purchaseTypeJson = json;
				var category = $('#aac010 option:selected').val();
				var categorySelect = $("#aac010")[0];
				categorySelect.options.length=1;

				var type = $('#aac014 option:selected').val();
				var typeSelect = $("#aac014")[0];
				typeSelect.options.length=1;
				//往父级下拉框中追加父级字典
				for (var i of json) {
					if (i.pId == "0") {
						categorySelect.options.add(new Option(i.name, i.value, false, i.value == category));
					}
				}
			}
		});
	});

	function categoryChg() {

		var category = $('#aac010 option:selected').val(); //父级下拉框选中的值

		var typeSelect = $("#aac014")[0];  //清空原来下拉框的值
		typeSelect.options.length = 1;

		//进行循环判断并追加数据到二级下拉框中
		for (var i of purchaseTypeJson) {
			if (i.value.length == 5 && i.value.substr(0, 2) == category) {
				typeSelect.options.add(new Option(i.name, i.value));  //往下拉框中追加值
			}
		}
	}

</script>

(四)展示页面效果
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Android 中实现下拉框多级联动,可以通过以下步骤来完成: 1. 创建一个布局文件,用于显示下拉框多级联动的控件。 2. 在 Activity 中创建一个 ArrayList 对象,用于存储下拉框中的数据。 3. 在 Activity 中创建一个 ArrayAdapter 对象,用于将数据绑定到下拉框中。 4. 使用 Spinner 控件来显示下拉框,并设置 OnItemSelectedListener 监听器。 5. 在 OnItemSelectedListener 监听器中获取用户选择的数据,并更新下一级下拉框数据。 6. 重复步骤 3-5,直到所有下拉框都被填充为止。 下面是一个简单的示例代码: ``` // 定义省市区的数据 private ArrayList<String> provinceList; private ArrayList<String> cityList; private ArrayList<String> areaList; // 定义下拉框控件 private Spinner spProvince; private Spinner spCity; private Spinner spArea; // 定义适配器对象 private ArrayAdapter<String> provinceAdapter; private ArrayAdapter<String> cityAdapter; private ArrayAdapter<String> areaAdapter; // 初始化数据 private void initData() { // 初始化省份数据 provinceList = new ArrayList<String>(); provinceList.add("北京"); provinceList.add("上海"); provinceList.add("广东"); // 初始化城市数据 cityList = new ArrayList<String>(); cityList.add("北京市"); cityList.add("上海市"); cityList.add("广州市"); cityList.add("深圳市"); // 初始化地区数据 areaList = new ArrayList<String>(); areaList.add("东城区"); areaList.add("朝阳区"); areaList.add("黄浦区"); areaList.add("徐汇区"); } // 初始化控件 private void initView() { // 获取控件对象 spProvince = (Spinner) findViewById(R.id.sp_province); spCity = (Spinner) findViewById(R.id.sp_city); spArea = (Spinner) findViewById(R.id.sp_area); // 创建适配器对象 provinceAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, provinceList); cityAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, cityList); areaAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, areaList); // 设置下拉框样式 provinceAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); cityAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); areaAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // 绑定适配器到控件 spProvince.setAdapter(provinceAdapter); spCity.setAdapter(cityAdapter); spArea.setAdapter(areaAdapter); // 设置监听器 spProvince.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { // 获取用户选择的省份 String province = provinceList.get(position); // 根据省份更新城市数据 updateCityData(province); // 更新下一级下拉框数据 updateAreaData(cityList.get(0)); } @Override public void onNothingSelected(AdapterView<?> parent) { } }); spCity.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { // 获取用户选择的城市 String city = cityList.get(position); // 根据城市更新地区数据 updateAreaData(city); } @Override public void onNothingSelected(AdapterView<?> parent) { } }); } // 更新城市数据 private void updateCityData(String province) { // 根据省份获取城市数据 // 这里省略获取城市数据的代码 // 更新城市数据 cityAdapter.clear(); cityAdapter.addAll(cityList); cityAdapter.notifyDataSetChanged(); } // 更新地区数据 private void updateAreaData(String city) { // 根据城市获取地区数据 // 这里省略获取地区数据的代码 // 更新地区数据 areaAdapter.clear(); areaAdapter.addAll(areaList); areaAdapter.notifyDataSetChanged(); } ``` 在这个示例中,我们创建了三个下拉框控件,分别用于显示省份、城市和地区的数据。当用户选择省份时,我们会根据省份更新城市数据,并将第二个下拉框填充为新的城市数据。当用户选择城市时,我们会根据城市更新地区数据,并将第三个下拉框填充为新的地区数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值