建站资源下载详情
为您免费提供多种建站资源下载,包括网站模板下载、前端插件下载和字体下载!您只需注册为会员即可任意下载!

JQuery多级联动菜单插件cx s e l e c t

来源:浏览量:4收藏

简介

cxSelect是一款基于 jQuery 的多级联动菜单插件,适用于省市、商品分类等联动菜单。列表数据通过 AJAX 获取,也可以自定义,数据内容使用 JSON 格式。同时兼容 Zepto,方便在移动端使用。

(下载的附件中附有DEMO)


参数说明:


名称默认值说明
selects[]下拉选框组。
输入 select 的 className
urlnull整合数据接口地址(URL)
datanull自定义数据,类型为数组,使用 JSON 格式。
emptyStylenull子集无数据时 select 元素的显示状态。
可设置为:"none"(display:none), "hidden"(visibility:hidden)
requiredfalse是否为必选。
设为 false 时,会在列表头部添加 <option value="{firstValue}">{firstTitle}</option> 选项。
firstTitle'请选择'选框第一个项目的标题(仅在 requiredfalse 时有效)
firstValue''选框第一个项目的值(仅在 requiredfalse 时有效)
jsonSpace''数据命名空间
jsonName'n'数据标题字段名称(用于 option 的标题)
jsonValue''数据值字段名称(用于 option 的 value,没有值字段时使用标题作为 value)
jsonSub's'子集数据字段名称


父元素的 data- 属性:


<div id="element_id" data-url="cityData.min.json" data-required="true"></div>

<!--名称  说明data-selects  下拉选框组。
  输入 select 的 className,使用英文逗号分隔的字符串data-ur
  列表数据接口地址data-empty-style	子集无数据时 select 的显示状态data-required
  是否为必选data-first-title	选框第一个项目的标题data-first-value
  选框第一个项目的值data-json-space
  数据命名空间data-json-name	数据标题字段名称data-json-value
  数据值字段名称data-json-sub
  子集数据字段名称 -->


select 元素的 data- 属性:

<select class="province" data-value="浙江省" data-first-title="选择省"></select>

<!--名称	说明data-value	默认选中值data-url
  当前选框的数据接口,详见 DEMOdata-required
  是否为必选data-query-name
  传递上一个选框值的参数名称(默认使用上一个选框的 name 属性值)data-first-title
  选框第一个项目的标题data-first-value
  选框第一个项目的值data-json-space
  数据命名空间data-json-name	数据标题字段名称data-json-value	数据值字段名称 -->


API 接口:


var cxSelectApi;

// 方法一:
cxSelectApi = $.cxSelect($('#element_id'),{
  selects: ['province', 'city', 'area']
});

// 方法二:
$('#element_id').cxSelect({
  selects: ['province', 'city', 'area']},
  function(api) {cxSelectApi = api;
});
cxSelectApi.attach();
cxSelectApi.detach();
cxSelectApi.clear();
cxSelectApi.setOptions();

/* 名称	说明attach()	绑定。
  调用时会自动进行绑定,用于使用 detach 解除绑定后,进行重新绑定。detach()	解除绑定。
  解除绑定后,不再具有联动效果。clear(index)	清空选项。
  清空第 index 个 select 自身及之后的 select 的选项。
  index: select 的序号,从 0 开始setOptions(settings)
  重新设置参数。settings: 与调用时参数一致 */


使用

1.  引入文件


<script src="jquery.js"></script>
<script src="jquery.cxselect.js"></script>


2.  HTML


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

<div id="element_id">
  <select class="province"></select>
  <select class="city"></select>
  <select class="area"></select>
</div>


3.  使用

设置默认值:


<!--方法一:使用 option 的 value 和 selected 属性-->
<select class="province">
  <option value="浙江省" selected>浙江省</option>
</select>

<!--方法二:使用 select 的 data-value 属性当同时设置 
  option 的 value 和 select 的 data-value 时,优先使用 data-value 的值
-->
<select class="province" data-value="浙江省"></select>


调用 cxSelect:


$('#element_id').cxSelect({
  url: 'cityData.min.json',
  selects: ['province', 'city', 'area'],
  // selects 为数组形式,请注意顺序
  emptyStyle: 'none'
});


设置参数全局默认值:


$.cxSelect.defaults.url = 'cityData.min.json';
$.cxSelect.defaults.emptyStyle = 'none';



相关链接

GitHub 地址 :https://github.com/ciaoca/cxSelect

Gitee 地址 :https://gitee.com/mirrors/cxSelect

2019年中华人民共和国行政区划代码 :https://www.mca.gov.cn/article/sj/xzqh/1980/202002/20200200025008.shtml