Front-end——jQuery实现下拉框效果

本案例需求:

实现一个下拉列表,需要做到:一次仅有一个下拉框展开,要求点击进行下拉框打开和关闭操作

使用到:

  1. toggle()函数:显示或者隐藏标签,即如果显示就隐藏,如果隐藏就显示
  2. parent()函数:找到对应元素的父元素,只查找一层
  3. parents()函数:找到对应元素的父元素,不断向上查找(无极限)
  4. children(选择器):查找满足条件的子元素,只查找一层
  5. find(选择器):查找满足条件的子元素,不断向下查找(无限极)
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript" src="js/jquery-3.5.1.min.js"></script>
		<style>
			*{
				margin: 0;
				padding: 0;
			}
			#app{
				width: 200px;
				
				border: 2px solid #0000FF;
			}
			dt{
				padding-left: 1rem;
			}
			
			dd{
				padding-left: 3rem;
			}
			
			dt, dd{
				border-bottom: 1px solid #7F7F7F;
			}
			dt:hover, dd:hover{
				background: #7F7F7F;
				color: #FFFFFF;
			}
			
		</style>
	</head>
	<body>
		<div id="app">
			<dl>
				<dt>山西省</dt>
				<dd>太原市</dd>
				<dd>运城市</dd>
				<dd>阳泉市</dd>
				<dd>临汾市</dd>
				<dd>大同市</dd>
				<dd>晋城市</dd>
			</dl>
			<dl>
				<dt>浙江省</dt>
				<dd>杭州市</dd>
				<dd>宁波市</dd>
				<dd>温州市</dd>
				<dd>金华市</dd>
				<dd>义乌市</dd>
				<dd>绍兴市</dd>
			</dl>
			<dl>
				<dt>陕西省</dt>
				<dd>西安市</dd>
				<dd>宝鸡市</dd>
				<dd>延安市</dd>
				<dd>汉中市</dd>
				<dd>咸阳市</dd>
				<dd>渭南市</dd>
			</dl>
			<dl>
				<dt>山东省</dt>
				<dd>济南市</dd>
				<dd>青岛市</dd>
				<dd>日照市</dd>
				<dd>烟台市</dd>
				<dd>德州市</dd>
				<dd>曲阜市</dd>
			</dl>
		</div>
		
		<script>
			$(function(){
				$("dt").click(function(){
					$(this).siblings().toggle().parent().siblings().children('dd').hide(1500)
				})
			})
		</script>
	</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
下面是使用 jQuery 插件 jquery-multiselect 和 jQuery 动态生成下拉框的示例代码: HTML 代码: ```html <div id="selectBoxContainer"></div> ``` JavaScript 代码: ```javascript $(document).ready(function() { // 动态生成下拉框 var selectBox = $('<select id="selectBox" multiple></select>'); selectBox.append($('<option value="option1">选项1</option>')); selectBox.append($('<option value="option2">选项2</option>')); selectBox.append($('<option value="option3">选项3</option>')); selectBox.append($('<option value="option4">选项4</option>')); selectBox.append($('<option value="option5">选项5</option>')); $('#selectBoxContainer').append(selectBox); // 初始化下拉框 $('#selectBox').multiselect(); }); ``` 在上面的示例代码中,我们首先在 HTML 中定义了一个 ID 为 "selectBoxContainer" 的容器,用于放置动态生成的下拉框。 然后,在 JavaScript 中,我们使用 jQuery 的 ready() 方法来确保文档加载完成后再执行代码。在 ready() 方法中,我们使用 jQuery 动态生成了一个 ID 为 "selectBox" 的下拉框,并设置了 multiple 属性,表示该下拉框可以多选。接着,我们为下拉框添加了五个选项。 最后,我们将动态生成的下拉框添加到容器中,并使用 multiselect() 方法初始化下拉框,从而实现了动态生成下拉框并使用 jquery-multiselect 插件实现下拉框多选的功能。 这样做的好处是可以根据实际需求动态生成下拉框,并且可以使用 jquery-multiselect 插件方便地实现下拉框多选的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Star星屹程序设计

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值