jQuery实现select级联
<!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级联的更多相关文章
- Jquery 实现select 3级级联查询
实现级联效果的思路: 1. 页面加载时,先显示第一级select,第二.三级的select隐藏,根据第一级select值的改变,再显示第二级select,依次类推: 2.只从后台获取第一级select ...
- jquery操作select(取值,设置选中)
最近工作中总出现select 和 option问题,整理一下,内容大部分源于网络资料 一.基础取值问题 例如<select class="selector"></ ...
- jquery操作select(增加,删除,清空)
jQuery获取Select选择的Text和Value: $("#select_id").change(function(){//code...}); //为Select添加事件, ...
- jquery 让select元素中的某个option被选中
jquery 操作select 取值,设置选中值 博客分类: javaScript selecttextvalue取值设置选中值 比如 <select class="type" ...
- jqery对于select级联操作
问题:今天在做一个需求的时候,有一个级联操作也就是选中下拉框的一列就显示对对应的数据 处理:我在做级联的时候在option的列里面绑定click的事件发现这个事件行不通:查资料发现select触发的是 ...
- js与jQuery操作select大全
Js操作Select是很常见的,也是比较实用的,每一次操作select的时候,总是要出来翻一下资料,不如自己总结一下,以后就翻这里了. 一.js操作select部分 判断select选项中 是否存在V ...
- [转]jquery设置select选中,赋值等操作
一.基础取值问题 例如<select class="selector"></select> 1.设置value为pxx的项选中 $(".selec ...
- jquery操作select取值赋值与设置选中[转]
本节内容:jquery实现select下拉框的取值与赋值,设置选中的方法大全. 比如<select class="selector"></select> 1 ...
- jquery操作select大全详解
每一次操作select的时候,总是要出来翻一下资料,不如自己总结一下,以后就翻这里了. 比如<select class="selector"></select&g ...
随机推荐
- Mysql中设置指定IP的特定用户及特定权限
创建用户:格式:grant select on 数据库.* to 用户名@登录主机 identified by '密码' 举例: 例 1:增加一个用户 test1 密码为 abc,让他可以在任何主机上 ...
- 爬虫-通过本地IP地址从中国天气网爬取当前城市天气情况
1.问题描述 最近在做一个pyqt登录校园网的小项目,想在窗口的状态栏加上当天的天气情况,用爬虫可以很好的解决我的问题. 2.解决思路 考虑到所处位置的不同,需要先获取本地城市地址,然后作为中 ...
- vim简单使用教程【转】
vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的.下面的文章翻译自<Learn Vim Progress ...
- how2heap学习笔记
github源代码地址 这里只分析glibc2.25堆分配的特性,为了方便调试编译时使用 gcc -g -no-pie <input_file_name> -o <output_fi ...
- kali linux networking scanning Cookbok (第三章结尾笔记)
1.Zombie Scanning with Nmap Zombie scans can also be performed with an option in Namp , we can find ...
- 关于 UNIX 的哲理名言(中英文对照)
UNIX 的特点: Everything (including hardware) is a file.所有的事物(甚至硬件本身)都是一个的文件. Configuration data stored ...
- Docker发布程序那些事
最近使用docker比较频繁,所以也难免碰到一些坑,在这里记录一下,给自己写个笔记 1.docker 1.13.0版本不支持docker stack deploy -c 多个 -c的yml文件合并 如 ...
- shaderlab UV动画所需的变量声明
优化资源.美术需要迫使自己的顶点shader能够进行TRANSFORM_TEX运算,进行该运算的前提是需要声明一个 _MainTex_ST 变量,类型为float4即可. 此时就可以使用unity c ...
- 分布式版本控制系统-git
Git是目前世界上最先进的分布式版本控制系统 SVN是集中式的版本控制系统,而Git是分布式版本控制系统,集中式和分布式版本控制系统有什么区别呢?这个可以找度娘...... 1.安装Git yum i ...
- SQL反模式学习笔记22 伪键洁癖,整理数据
目标:整理数据,使不连续的主键Id数据记录变的连续. 反模式:填充断档的数据空缺. 1.不按照顺序分配编号 在插入新行时,通过遍历表,找到的第一个未分配的主键编号分配给新行,来代替原来自动分配的伪主键 ...