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 ajax请求struts action实现异步刷新
Apr 19 jQuery
jquery仿微信聊天界面
May 06 jQuery
jQuery遍历节点方法汇总(推荐)
May 13 jQuery
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
Jun 09 jQuery
jQuery结合jQuery.cookie.js插件实现换肤功能示例
Oct 14 jQuery
基于jQuery实现定位导航位置效果
Nov 15 jQuery
如何快速解决JS或Jquery ajax异步跨域的问题
Jan 08 jQuery
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
Apr 17 jQuery
JQuery animate动画应用示例
May 14 jQuery
jQuery控制input只能输入数字和两位小数的方法
May 16 jQuery
jQuery模拟html下拉多选框的原生实现方法示例
May 30 jQuery
Jquery ajax书写方法代码实例解析
Jun 12 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 pathinfo()获得文件的路径、名称等信息说明
2011/09/13 PHP
PHP中使用数组实现堆栈数据结构的代码
2012/02/05 PHP
PHP、Java des加密解密实例
2015/04/27 PHP
学习PHP Cookie处理函数
2016/08/09 PHP
Laravel框架查询构造器简单示例
2019/05/08 PHP
yii2 开发api接口时优雅的处理全局异常的方法
2019/05/14 PHP
php依赖注入知识点详解
2019/09/23 PHP
LazyForm jQuery plugin 定制您的CheckBox Radio和Select
2009/10/24 Javascript
PHP PDO操作总结
2014/11/17 Javascript
js实现select跳转菜单新窗口效果代码分享(超简单)
2015/08/21 Javascript
用headjs来管理和加载js 提高网站加载速度
2016/11/29 Javascript
详解webpack-dev-server的简单使用
2018/04/02 Javascript
浅谈实现在线预览PDF的几种解决办法
2020/08/10 Javascript
[06:11]2014DOTA2国际邀请赛 专访团结一心的VG战队
2014/07/21 DOTA
[43:35]EG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python里对list中的整数求平均并排序
2014/09/12 Python
python中字典dict常用操作方法实例总结
2015/04/04 Python
十条建议帮你提高Python编程效率
2016/02/16 Python
python爬取微信公众号文章
2018/08/31 Python
Python Web框架之Django框架Model基础详解
2019/08/16 Python
Python关于反射的实例代码分享
2020/02/20 Python
Python matplotlib 绘制双Y轴曲线图的示例代码
2020/06/12 Python
python3代码中实现加法重载的实例
2020/12/03 Python
LivingSocial爱尔兰:爱尔兰本地优惠
2018/08/10 全球购物
意大利婴儿产品网上商店:Mukako
2018/10/14 全球购物
Watch Station官方网站:世界一流的手表和智能手表
2020/01/05 全球购物
个人简历自我评价八例
2013/10/31 职场文书
养殖项目策划书范文
2014/01/13 职场文书
企业军训感言
2014/02/08 职场文书
城市精细化管理实施方案
2014/03/04 职场文书
带刀到教室的检讨书
2014/10/04 职场文书
机关单位工作失职检讨书
2014/11/20 职场文书
2015年安全生产管理工作总结
2015/05/25 职场文书
如何解决springcloud feign 首次调用100%失败的问题
2021/06/23 Java/Android
Redis基本数据类型List常用操作命令
2022/06/01 Redis
Linux中sftp常用命令整理
2022/06/28 Servers