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插件开发发送短信倒计时功能代码
May 09 jQuery
基于jQuery实现图片推拉门动画效果的两种方法
Aug 26 jQuery
jquery在vue脚手架中的使用方式示例
Aug 29 jQuery
jQuery实现浏览器之间跳转并传递参数功能【支持中文字符】
Mar 28 jQuery
jQuery仿移动端支付宝键盘的实现代码
Aug 15 jQuery
jQuery动态操作表单示例【基于table表格】
Dec 06 jQuery
jQuery实现适用于移动端的跑马灯抽奖特效示例
Jan 18 jQuery
JQuery中queue方法用法示例
Jan 31 jQuery
jquery实现垂直手风琴菜单
Mar 04 jQuery
jQuery实现颜色打字机的完整代码
Mar 19 jQuery
jQuery实现html可联动的百分比进度条
Mar 26 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完全过滤HTML,JS,CSS等标签
2009/01/16 PHP
php ss7.5的数据调用 (笔记)
2010/03/08 PHP
php数据类型判断函数有哪些
2013/09/23 PHP
phpinfo() 中 Local Value(局部变量)Master Value(主变量) 的区别
2016/02/03 PHP
JS 控制非法字符的输入代码
2009/12/04 Javascript
Extjs中使用extend(js继承) 的代码
2012/03/15 Javascript
js给onclick事件赋值,动态传参数实例解说
2013/03/28 Javascript
利用javascript实现web页面中指定区域打印
2013/10/30 Javascript
JavaScript导出Excel实例详解
2014/11/25 Javascript
jQuery实现按钮的点击 全选/反选 单选框/复选框 文本框 表单验证
2015/06/25 Javascript
由ReactJS的Hello world说开来
2015/07/02 Javascript
jQuery简单实现input文本框内灰色提示文本效果的方法
2015/12/02 Javascript
使用Ajax与服务器(JSON)通信实例
2016/11/04 Javascript
将 vue 生成的 js 上传到七牛的实例
2017/07/28 Javascript
react开发教程之React 组件之间的通信方式
2017/08/12 Javascript
基于Bootstrap实现城市三级联动
2017/11/23 Javascript
vue移动端实现下拉刷新
2018/04/22 Javascript
vue非父子组件通信问题及解决方法
2018/06/11 Javascript
Vue项目全局配置页面缓存之按需读取缓存的实现详解
2018/08/01 Javascript
Vue开发之封装上传文件组件与用法示例
2019/04/25 Javascript
js实现上传按钮并显示缩略图小轮子
2020/05/04 Javascript
用Python编写简单的定时器的方法
2015/05/02 Python
python避免死锁方法实例分析
2015/06/04 Python
深入理解Python装饰器
2016/07/27 Python
pandas通过loc生成新的列方法
2018/11/28 Python
python开发入门——列表生成式
2020/09/03 Python
Python爬虫实战案例之爬取喜马拉雅音频数据详解
2020/12/07 Python
英语文学专业学生的自我评价
2013/10/31 职场文书
会计自我鉴定
2013/11/02 职场文书
小学英语复习计划
2015/01/19 职场文书
小学德育工作总结2015
2015/05/12 职场文书
心灵捕手观后感
2015/06/02 职场文书
2016年圣诞节义工活动总结
2016/04/01 职场文书
创业计划书之餐饮馄饨店
2019/07/18 职场文书
详解Python生成器和基于生成器的协程
2021/06/03 Python
postgres之jsonb属性的使用操作
2021/06/23 PostgreSQL