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 EasyUI之验证框validatebox实例详解
Apr 10 jQuery
jQuery日期范围选择器附源码下载
May 23 jQuery
jQuery Masonry瀑布流布局神器使用详解
May 25 jQuery
bootstrap+jQuery实现的动态进度条功能示例
May 25 jQuery
jQuery实现一个简单的验证码功能
Jun 26 jQuery
jquery实现图片跟随鼠标的实例
Oct 17 jQuery
jQuery ajax读取本地json文件的实例
Oct 31 jQuery
jQuery实现checkbox的简单操作
Nov 18 jQuery
JS文件中加载jquery.js的实例代码
May 05 jQuery
jquery ajax加载数据前台渲染方式 不用for遍历的方法
Aug 09 jQuery
jQuery内容选择器与表单选择器实例分析
Jun 28 jQuery
jquery实现轮播图特效
Apr 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
评分9.0以上的动画电影,剧情除了经典还很燃
2020/03/04 日漫
PHP5 安装方法
2007/01/15 PHP
基于php split()函数的用法详解
2013/06/05 PHP
一组PHP加密解密函数分享
2014/06/05 PHP
CI使用Tank Auth转移数据库导致密码用户错误的解决办法
2014/06/12 PHP
ThinkPHP惯例配置文件详解
2014/07/14 PHP
微信API接口大全
2015/04/15 PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
2016/10/17 PHP
Laravel中如何增加自定义全局函数详解
2017/05/09 PHP
PHP图像处理技术实例总结【绘图、水印、验证码、图像压缩】
2018/12/08 PHP
RR vs IO BO3 第一场2.13
2021/03/10 DOTA
加速IE的Javascript document输出的方法
2010/12/02 Javascript
JavaScript实现单击下拉框选择直接跳转页面的方法
2015/07/02 Javascript
图解JavaScript中的this关键字
2020/05/28 Javascript
jquery实现图片放大镜功能
2015/11/23 Javascript
基于JavaScript实现自定义滚动条
2017/01/25 Javascript
jquery uploadify如何取消已上传成功文件
2017/02/08 Javascript
angular使用bootstrap方法手动启动的实例代码
2017/07/18 Javascript
VUEX-action可以修改state吗
2019/11/19 Javascript
微信小程序 button样式设置为图片的方法
2020/06/19 Javascript
浅谈javascript事件环微任务和宏任务队列原理
2020/09/12 Javascript
python实现mysql的单引号字符串过滤方法
2015/11/14 Python
基于Python socket的端口扫描程序实例代码
2018/02/09 Python
Python父目录、子目录的相互调用方法
2019/02/16 Python
python 定时器,实现每天凌晨3点执行的方法
2019/02/20 Python
python使用bs4爬取boss直聘静态页面
2020/10/10 Python
史上最详细的Python打包成exe文件教程
2021/01/17 Python
加拿大在线隐形眼镜专家:PerfectLens.ca
2016/11/19 全球购物
大学毕业生最详细的自我评价分享
2013/11/18 职场文书
国贸专业的职业规划范文
2014/01/23 职场文书
六月份红领巾广播稿
2014/02/03 职场文书
一位农村小子的自荐信
2014/04/07 职场文书
群众路线四风对照检查材料
2014/11/04 职场文书
2015年个人现实表现材料
2014/12/10 职场文书
会议主持词开场白
2015/05/28 职场文书
新手开公司创业注意事项有哪些?
2019/07/29 职场文书