使用Html5的数据属性(data-*)Map级联关系,代码如下:
 <!DOCTYPE html>
<html>
<head>
<title>Select级联</title>
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script type=text/javascript>
$(document).ready(function () {
//获取子select的option
let childOptions = $("select[name='children']").find("option");
$("select[name='parent']").change(cascadeSelect);
//级联过滤方法
function cascadeSelect(event) {
//获取选中index及value
let index = event.target["selectedIndex"];
let item = event.target[index].value;
//过滤方法1
let options = childOptions.filter(function () {
return (this.value == "" || this.dataset.parent == item);
});
//过滤方法2
// let options = Array.from(childOptions).filter(function (option) {
// return option.value == "" || option.dataset.parent == item
// });
//清空子select,重新绑定,并设定默认选中项
$("select[name='children']").empty().append(options);
$("select[name='children']").find("option[value='']").prop("selected", true);
}
});
</script>
</head>
<body>
<select name="parent">
<option value="" selected>请选择</option>
<option value="1">选项1</option>
<option value="2">选项2</option>
<option value="3">选项3</option>
<option value="4">选项4</option>
<option value="5">选项5</option>
</select>
<select name="children">
<!-- 使用data-*属性Map级联关系 -->
<option data-parent="" value="" selected>请选择</option>
<option data-parent="1" value="1">子选项1-1</option>
<option data-parent="1" value="2">子选项1-2</option>
<option data-parent="1" value="3">子选项1-3</option>
<option data-parent="1" value="4">子选项1-4</option>
<option data-parent="1" value="5">子选项1-5</option>
<option data-parent="2" value="6">子选项2-1</option>
<option data-parent="2" value="7">子选项2-2</option>
<option data-parent="2" value="8">子选项2-3</option>
<option data-parent="2" value="9">子选项2-4</option>
<option data-parent="3" value="10">子选项3-1</option>
<option data-parent="3" value="11">子选项3-2</option>
<option data-parent="3" value="12">子选项3-3</option>
<option data-parent="4" value="13">子选项4-1</option>
<option data-parent="4" value="14">子选项4-2</option>
<option data-parent="4" value="15">子选项4-3</option>
<option data-parent="4" value="16">子选项4-4</option>
<option data-parent="4" value="17">子选项4-5</option>
<option data-parent="5" value="18">子选项5-1</option>
<option data-parent="5" value="19">子选项5-2</option>
<option data-parent="5" value="20">子选项5-3</option>
</select>
</body>
</html>

jQuery实现select级联的更多相关文章

  1. Jquery 实现select 3级级联查询

    实现级联效果的思路: 1. 页面加载时,先显示第一级select,第二.三级的select隐藏,根据第一级select值的改变,再显示第二级select,依次类推: 2.只从后台获取第一级select ...

  2. jquery操作select(取值,设置选中)

    最近工作中总出现select 和 option问题,整理一下,内容大部分源于网络资料 一.基础取值问题 例如<select class="selector"></ ...

  3. jquery操作select(增加,删除,清空)

    jQuery获取Select选择的Text和Value: $("#select_id").change(function(){//code...}); //为Select添加事件, ...

  4. jquery 让select元素中的某个option被选中

    jquery 操作select 取值,设置选中值 博客分类: javaScript selecttextvalue取值设置选中值 比如 <select class="type" ...

  5. jqery对于select级联操作

    问题:今天在做一个需求的时候,有一个级联操作也就是选中下拉框的一列就显示对对应的数据 处理:我在做级联的时候在option的列里面绑定click的事件发现这个事件行不通:查资料发现select触发的是 ...

  6. js与jQuery操作select大全

    Js操作Select是很常见的,也是比较实用的,每一次操作select的时候,总是要出来翻一下资料,不如自己总结一下,以后就翻这里了. 一.js操作select部分 判断select选项中 是否存在V ...

  7. [转]jquery设置select选中,赋值等操作

    一.基础取值问题 例如<select class="selector"></select> 1.设置value为pxx的项选中 $(".selec ...

  8. jquery操作select取值赋值与设置选中[转]

    本节内容:jquery实现select下拉框的取值与赋值,设置选中的方法大全. 比如<select class="selector"></select> 1 ...

  9. jquery操作select大全详解

    每一次操作select的时候,总是要出来翻一下资料,不如自己总结一下,以后就翻这里了. 比如<select class="selector"></select&g ...

随机推荐

  1. Oracle 关键字、高级函数的使用

    1.序列.唯一标识 查询时,可以添加递增序列 rownum 表的数据每一行都有一个唯一的标识 rowid 2.函数 单行:查询多条数据 如:to_date() 多行:查询总结数据,一般用于group ...

  2. Django之会议室预预订

    model表设计: from django.db import models from django.contrib.auth.models import AbstractUser # Create ...

  3. 【原创】大叔算法分享(5)聚类算法DBSCAN

    一 简介 DBSCAN:Density-based spatial clustering of applications with noise is a data clustering algorit ...

  4. django 实战篇之路由层

    路由层 如何给网页添加首页及尾页 urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'test',views.test), url(r'te ...

  5. 使用SqlServer_Profiler跟踪慢查询

    使用SQLProfiler(事件探查器)跟踪数据库操作及慢查询 1:应用程序连接SQL SERVER数据库服务器: 2:打开SQL Profiler开启数据库事件跟踪: (1):打开SQL Serve ...

  6. django---不使用view,直接从Url转到html

    这个在使用公告页时,就很方便. 因为无需要经过数据库,视图. 直接使用文字. https://docs.djangoproject.com/en/2.1/topics/class-based-view ...

  7. ubuntu linux adb devices no permissions解决办法

    最近在调试安卓手机时老是失败,问题如下所示 han@ubuntu:~/project/zero_app$ adb devices List of devices attached 664768297c ...

  8. 【转】GB2312、GBK和UTF-8三种编码的简要说明

    原文地址:http://www.cnblogs.com/hust-yingjie/p/5481966.htmlGB2312.GBK和UTF-8都是一种字符编码,除此之外,还有好多字符编码.只是对于我们 ...

  9. symfony-安装,使用与创建应用程序以及创建第一个hello world界面

    说明:由于学校里面要用到symfony3进行开发,并且之前对php和mysql有了一定的学习,所以这里进行对symfony2.3版本的学习,目前的版本已经到了symfony4了,但是本人之后要用到的是 ...

  10. 在使用EF时,想要比较字符串类型的日期时

    原文地址(https://blog.csdn.net/yangxinyue315/article/details/44960895) 在使用EF时,想要比较字符串类型的日期时 在使用EF时,想要比较字 ...