我的编程空间,编程开发者的网络收藏夹
学习永远不晚

基于 jquery-cxselect 实现下拉联动效果功能实现

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

基于 jquery-cxselect 实现下拉联动效果功能实现

写在前面

下拉联动效果是一个老生常谈的问题了,实现方式也是多种多样。最近遇到类似的需求,这里整理一下。
下拉联动实现基于jquery的一款联动下拉菜单插件 jquery-cxselect

功能实现

1、导入脚本

<!-- jQueyr 脚本 -->
<script class="lazy" data-src="/js/jquery.min.js?v=3.6.3"></script>
<!-- jQueyr 下拉插件脚本 -->
<script class="lazy" data-src="/jsjquery.cxselect.min.js?v=1.4.2"></script>

2、编写页面组件

页面组件布局使用的是 BootStrap。

注意:div 组件的 id 属性,后面脚本会用到

<div class="form-group" id="pca">
    <label class="col-sm-2 control-label is-required">省市县:</label>
    <div class="col-sm-3">
        <!-- data-value 可以设置下拉框的默认选择值 -->
        <select name="province" class="province form-control m-b" required data-value=""></select>
    </div>
    <div class="col-sm-3">
        <select name="city" class="city form-control m-b" required data-value=""></select>
    </div>
    <div class="col-sm-3">
        <select name="area" class="area form-control m-b" required data-value=""></select>
    </div>
    <div class="col-sm-3 col-sm-offset-2">
        <select name="street" class="street form-control m-b" required data-value=""></select>
    </div>
</div>

3、JSON 数据准备

这里准备了一个JSON文件 ,点击连接直接下载放到项目中即可。下面罗列一部分摘要。

[
	{
		"code": "11",
		"name": "北京市",
		"children" : [
			{
				"code" : "1101",
				"name" : "市辖区",
				"children" : [
					{
						"code" : "110101",
						"name" : "东城区" ,
						"children" : [
							{
								"code" : "110101001",
								"name" : "东华门街道" 
							},
							{
								"code" : "110101002",
								"name" : "景山街道" 
							},
						]
					}
				]
			}
		] 
	}
]

4、脚本编写

<script th:inline="javascript">
    
    $.getJSON('/pcas-code.json', function(data){
        // 基于 ID 选择器,选择级联组件的父容器,调用插件的 cxSelect 方法,传递参数。
        $('#pca').cxSelect({
            // 选择联动组件,以 class 选择器选择
            selects: ['province', 'city', 'area', 'street'],
            // 是否为必选
            required: false,
            // 从 JSON 数据中获取指定 key 的值,给 option 标签的 value 赋值
            jsonValue: 'code',
            // 从 JSON 数据中获取指定 key 的值,给 option 选项赋值
            jsonName: 'name',
            // 从 JSON 数据中获取指定 key 的值,获取联动的子数据
            jsonSub: 'children',
            data: data,
        });
    });
</script>

补充:Jquery cxSelect多级联动下拉组件的使用

Jquery cxSelect多级联动下拉组件的使用

虽然,现在的项目大都不直接使用jquery进行开发了。但是身为后端的我依然遇到了,单体项目,themeleaf模板全栈开发

下面记录一下如何使用(文档这些对我们这些后端来说不是很友好)

1.首先页面中要引入它的js(我这里是themeleaf)

<th:block th:include="include :: jquery-cxselect-js" />

js直接:

<script class="lazy" data-src="jquery.js"></script>
<script class="lazy" data-src="jquery.cxselect.js"></script>

2.级联的select们必须用一个dom(id可以随意取)包裹起来,必须要有class属性

<!--
select 必须放在元素 id="element_id" 的内部,不限层级
select 的 class 任意取值,也可以附加多个 class,如 class="province otherclass",在调用时只需要输入其中一个即可,但是不能重复
-->
<div id="element_id">
  <select class="curriculum"></select>
  <select class="chapter"></select>
</div>

3.发请求获取数据,数据是json(级联下拉数据类似于多层循环,java中就是对象套list,list里面的对象再套list),$(’#element_id’)对应最外层的id属性值

// 通过默认url获取
var urlSelect = 'selectdata';
//设置请求路径
$.cxSelect.defaults.url = urlSelect;
$('#element_id').cxSelect({
    selects: ['curriculum', 'chapter'],
    nodata: 'none',
    jsonSub: 'chapterList'
});

image-20220330170211731

selects数组中的数据,就是select下拉框的class属性的值,顺序很重要,比如数组第一个值就对应第一个下拉框

​ jsonSub:子select的list数据字段(这里是统一指定,即设置后每一个子级的数据字段都叫这个名字),不指定该属性,它默认会去找“s”这个字段

4.需要注意的是,下拉框我们希望浏览name,选择id

<select class="curriculum" name="curriculumId" data-json-name="name" data-json-sub="chapterList" data-json-value="id" data-first-title="所属课程">
                        <option value="">请选择</option>
                    </select>

data-json-name:指定下拉时展示的数据字段,默认找“n”这个字段

​ data-json-value:指定选中时取哪个字段作为值

​ data-json-sub:如果返回的Json数据的子级下拉数据字段不完全同名,可以单独为每一个下拉框指定子级list字段名

到此这篇关于基于 jquery-cxselect 实现下拉联动效果的文章就介绍到这了,更多相关jquery-cxselect 下拉联动内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

基于 jquery-cxselect 实现下拉联动效果功能实现

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

基于 jquery-cxselect 实现下拉联动效果功能实现

这篇文章主要介绍了基于 jquery-cxselect 实现下拉联动效果,下拉联动是基于query的一款联动下拉菜单插件jquery-cxselect实现,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
2023-02-03

jQuery怎么实现下拉菜单滑动效果

这篇文章主要讲解了“jQuery怎么实现下拉菜单滑动效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“jQuery怎么实现下拉菜单滑动效果”吧!当我们制作网页时,有的时候会想拥有一个酷炫且顺
2023-06-20

vue如何实现下拉框二级联动效果

这篇文章主要介绍vue如何实现下拉框二级联动效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、实现效果2、后端返回的数据格式"list": [ { "id": "1178214681118
2023-06-25

Vue怎么实现下拉框双向联动效果

今天小编给大家分享一下Vue怎么实现下拉框双向联动效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、前言在开发前端页面的
2023-06-29

jquery怎么实现简单下拉菜单效果

本文小编为大家详细介绍“jquery怎么实现简单下拉菜单效果”,内容详细,步骤清晰,细节处理妥当,希望这篇“jquery怎么实现简单下拉菜单效果”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。看效果html
    2023-06-30

    编程热搜

    目录