jQuery模拟html下拉多选框的原生实现方法示例


Posted in jQuery onMay 30, 2019

本文实例讲述了jQuery模拟html下拉多选框的原生实现方法。分享给大家供大家参考,具体如下:

用js, html, css 简单的实现一个HTML 下拉多选框,不试用其他框架的情况下,可以借鉴一下,如果用jqueryUI, BOOTSTRAP, 就没必要参考了。毕竟那些现成的东西更好用。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>3water.com jQuery模拟select</title>
 <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
 <style>
 body {
 font: normal 14px/100% "Andale Mono", AndaleMono, monospace;
 color: #fff;
 padding: 50px;
 width: 300px;
 margin: 0 auto;
 background-color: #374954;
}
.dropdown {
 position: absolute;
 top:50%;
 transform: translateY(-50%);
}
a {
 color: #fff;
}
.dropdown dd,
.dropdown dt {
 margin: 0px;
 padding: 0px;
}
.dropdown ul {
 margin: -1px 0 0 0;
}
.dropdown dd {
 position: relative;
}
.dropdown a,
.dropdown a:visited {
 color: #fff;
 text-decoration: none;
 outline: none;
 font-size: 12px;
}
.dropdown dt a {
 background-color: #4F6877;
 display: block;
 padding: 8px 20px 5px 10px;
 min-height: 25px;
 line-height: 24px;
 overflow: hidden;
 border: 0;
 width: 272px;
}
.dropdown dt a span,
.multiSel span {
 cursor: pointer;
 display: inline-block;
 padding: 0 5px 2px 0;
}
.dropdown dd ul {
 background-color: #4F6877;
 border: 0;
 color: #fff;
 display: none;
 left: 0px;
 padding: 2px 15px 2px 5px;
 position: absolute;
 top: 2px;
 width: 240px;
 list-style: none;
 height: auto;
 overflow: auto;
 margin-top:30px;
}
.dropdown span.value {
 display: none;
}
.dropdown dd ul li a {
 padding: 5px;
 display: block;
}
.dropdown dd ul li a:hover {
 background-color: #fff;
}
button {
 background-color: #6BBE92;
 width: 302px;
 border: 0;
 padding: 10px 0;
 margin: 5px 0;
 text-align: center;
 color: #fff;
 font-weight: bold;
}
 </style>
</head>
<body>
<dl class="dropdown">
 <dt>
 <div style="">
  <div class="multiSel" style="width:150px;background:#fff;padding: 8px 20px 5px 10px;height:20px;color:#000;float:left;"></div>
  <div class="mydropdown" style="width:50px;background:#fff;padding: 8px 20px 5px 10px;height:20px;color:#000;float:left;">sss</div>
 </div>
 </dt>
 <dd>
  <div class="mutliSelect">
   <ul>
    <li>
     <input type="checkbox" value="Apple" />Apple</li>
    <li>
     <input type="checkbox" value="Blackberry" />Blackberry</li>
    <li>
     <input type="checkbox" value="HTC" />HTC</li>
    <li>
     <input type="checkbox" value="Sony Ericson" />Sony Ericson</li>
    <li>
     <input type="checkbox" value="Motorola" />Motorola</li>
    <li>
     <input type="checkbox" value="Nokia" />Nokia</li>
   </ul>
  </div>
 </dd>
</dl>
<script>
 $(".dropdown dt .mydropdown").on('click', function() {
  $(".dropdown dd ul").slideToggle('fast');
 });
$(".dropdown dd ul li a").on('click', function() {
 $(".dropdown dd ul").hide();
});
function getSelectedValue(id) {
 return $("#" + id).find("dt a span.value").html();
}
$(document).bind('click', function(e) {
 var $clicked = $(e.target);
 if (!$clicked.parents().hasClass("dropdown")) $(".dropdown dd ul").hide();
});
$('.mutliSelect input[type="checkbox"]').on('click', function() {
 var title = $(this).closest('.mutliSelect').find('input[type="checkbox"]').val(),
 title = $(this).val() + ",";
 if ($(this).is(':checked')) {
 var html = '<span title="' + title + '">' + title + '</span>';
 $('.multiSel').append(html);
 } else {
 $('span[title="' + title + '"]').remove();
 }
});
 </script>
</body>
</html>

运行效果:

jQuery模拟html下拉多选框的原生实现方法示例

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
jQuery实现web页面樱花坠落的特效
Jun 01 jQuery
jQuery Validate表单验证插件实现代码
Jun 08 jQuery
jQuery Ajax使用FormData上传文件和其他数据后端web.py获取
Jun 11 jQuery
jQuery选择器特殊字符与属性空格问题
Aug 14 jQuery
jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
Sep 12 jQuery
js和jQuery以及easyui实现对下拉框的指定赋值方法
Jan 23 jQuery
jquery写出PC端轮播图实例
Jan 26 jQuery
JQuery元素快速查找与操作
Apr 22 jQuery
jQuery实现获取及设置CSS样式操作详解
Sep 05 jQuery
jQuery内容过滤选择器与子元素过滤选择器用法实例分析
Feb 20 jQuery
jQuery - AJAX load() 实例用法详解
Aug 27 jQuery
jquery添加div实现消息聊天框
Feb 08 jQuery
JS拖动选择table里的单元格完整实例【基于jQuery】
May 28 #jQuery
jquery实现Ajax请求的几种常见方式总结
May 28 #jQuery
jquery操作select常见方法大全【7种情况】
May 28 #jQuery
jQuery实现高级检索功能
May 28 #jQuery
jQuery实现input输入框获取焦点与失去焦点时提示的消失与显示功能示例
May 27 #jQuery
jquery实现动态创建form并提交的方法示例
May 27 #jQuery
jquery实现动态改变css样式的方法分析
May 27 #jQuery
You might like
PHP 配置open_basedir 让各虚拟站点独立运行
2009/11/12 PHP
PHP面向接口编程 耦合设计模式 简单范例
2011/03/23 PHP
fleaphp crud操作之find函数的使用方法
2011/04/23 PHP
奇怪的PHP引用效率问题分析
2012/03/23 PHP
简单的方法让你的后台登录更加安全(php中加session验证)
2012/08/22 PHP
php使用for语句输出三角形的方法
2015/06/09 PHP
WordPress的主题编写中获取头部模板和底部模板
2015/12/28 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
2016/07/20 PHP
phalcon model在插入或更新时会自动验证非空字段的解决办法
2016/12/29 PHP
jQuery实现 注册时选择阅读条款 左右移动
2013/04/11 Javascript
JavaScript闭包函数访问外部变量的方法
2014/08/27 Javascript
小白谈谈对JS原型链的理解
2016/05/03 Javascript
使用JS读取XML文件的方法
2016/11/25 Javascript
js实现日期显示的一些操作(实例讲解)
2017/07/27 Javascript
jquery ui 实现 tab标签功能示例【测试可用】
2019/07/25 jQuery
vue element-ui el-date-picker限制选择时间为当天之前的代码
2019/11/07 Javascript
Python selenium如何设置等待时间
2016/09/15 Python
Django ORM框架的定时任务如何使用详解
2017/10/19 Python
Python数据结构与算法之使用队列解决小猫钓鱼问题
2017/12/14 Python
Python cookbook(数据结构与算法)让字典保持有序的方法
2018/02/18 Python
利用Python写一个爬妹子的爬虫
2018/06/08 Python
python3 字符串/列表/元组(str/list/tuple)相互转换方法及join()函数的使用
2019/04/03 Python
PyQt5下拉式复选框QComboCheckBox的实例
2019/06/25 Python
使用IDLE的Python shell窗口实例详解
2019/11/19 Python
python爬虫请求头设置代码
2020/07/28 Python
Python paramiko使用方法代码汇总
2020/11/20 Python
Urban Outfitters德国官网:美国跨国生活方式零售公司
2018/05/21 全球购物
澳洲Chemist Direct药房中文网:澳洲大型线上直邮药房
2019/11/04 全球购物
如何通过 CSS 写出火焰效果
2021/03/24 HTML / CSS
25岁生日感言
2014/01/13 职场文书
四年大学自我鉴定
2014/02/17 职场文书
大学优秀班集体申报材料
2014/05/23 职场文书
劳动竞赛口号
2014/06/16 职场文书
股权转让协议范本
2014/12/07 职场文书
小学生班干部竞选稿
2015/11/20 职场文书
Python中itertools库的四个函数介绍
2022/04/06 Python