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实现可拖动进度条实例代码
Jun 21 jQuery
各种选择框jQuery的选中方法(实例讲解)
Jun 27 jQuery
jQuery获取复选框选中的当前行的某个字段的值
Sep 15 jQuery
基于jquery.page.js实现分页效果
Jan 01 jQuery
Vue.js 通过jQuery ajax获取数据实现更新后重新渲染页面的方法
Aug 09 jQuery
jQuery扩展方法实现Form表单与Json互相转换的实例代码
Sep 05 jQuery
jQuery实现基本动画效果的方法详解
Sep 06 jQuery
使vue实现jQuery调用的两种方法
May 12 jQuery
jQuery Raty星级评分插件使用方法实例分析
Nov 25 jQuery
jQuery轮播图功能制作方法详解
Dec 03 jQuery
jQuery实现颜色打字机的完整代码
Mar 19 jQuery
Jquery+AJAX实现无刷新上传并重命名文件操作示例【PHP后台接收】
May 29 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 中的str_replace 函数总结
2007/04/27 PHP
Yii中CGridView关联表搜索排序方法实例详解
2014/12/03 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
PHP一个简单的无需刷新爬虫
2019/01/05 PHP
php和C#的yield迭代器实现方法对比分析
2019/07/17 PHP
Ext JS Grid在IE6 下宽度的问题解决方法
2009/02/15 Javascript
Prototype 学习 工具函数学习($w,$F方法)
2009/07/12 Javascript
JS实现黑色风格的网页TAB选项卡效果代码
2015/10/09 Javascript
jQuery遮罩层实现方法实例详解(附遮罩层插件)
2015/12/08 Javascript
JS简单测试循环运行时间的方法
2016/09/04 Javascript
bootstrap响应式表格实例详解
2017/05/15 Javascript
VUE axios上传图片到七牛的实例代码
2017/07/28 Javascript
JS实现下拉菜单列表与登录注册弹窗效果
2017/08/10 Javascript
vue.js 嵌套循环、if判断、动态删除的实例
2018/03/07 Javascript
vue多次循环操作示例
2019/02/08 Javascript
vue指令v-html使用过滤器filters功能实例
2019/10/25 Javascript
jQuery中getJSON跨域原理的深入讲解
2020/09/02 jQuery
手把手教你如何编译打包video.js
2020/12/09 Javascript
Python 绘图和可视化详细介绍
2017/02/11 Python
Python编写登陆接口的方法
2017/07/10 Python
Python文件操作基本流程代码实例
2017/12/11 Python
Python3实现的爬虫爬取数据并存入mysql数据库操作示例
2018/06/06 Python
python opencv实现切变换 不裁减图片
2018/07/26 Python
如何通过雪花算法用Python实现一个简单的发号器
2019/07/03 Python
Pycharm自带Git实现版本管理的方法步骤
2020/09/18 Python
微信html5页面调用第三方位置导航的示例
2018/03/14 HTML / CSS
英国广泛的照明产品网站:Lights4living
2018/01/28 全球购物
SHEIN香港:价格实惠的女性时尚服装
2018/08/14 全球购物
写好自荐信的要点
2013/11/06 职场文书
六十岁生日答谢词
2014/01/10 职场文书
档案信息化建设方案
2014/05/16 职场文书
好人好事演讲稿
2014/09/01 职场文书
检查机关领导群众路线教育实践活动个人整改措施
2014/10/28 职场文书
2015年妇委会工作总结
2015/05/22 职场文书
快消品行业营销模式与盈利模式分享
2019/09/27 职场文书
Python四款GUI图形界面库介绍
2022/06/05 Python