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插件FusionCharts实现的MSBar3D图效果示例【附demo源码】
Mar 23 jQuery
jQuery插件FusionCharts绘制的2D帕累托图效果示例【附demo源码】
Mar 28 jQuery
JQuery 获取Dom元素的实例讲解
Jul 08 jQuery
jQuery替换节点元素的操作方法
Mar 18 jQuery
jQuery+ajax实现动态添加表格tr td功能示例
Apr 23 jQuery
JQuery通过后台获取数据遍历到前台的方法
Aug 13 jQuery
解决jQuery使用append添加的元素事件无效的问题
Aug 30 jQuery
jQuery选择器选中最后一个元素,倒数第二个元素操作示例
Dec 10 jQuery
jquery html添加元素/删除元素操作实例详解
May 20 jQuery
jQuery+Ajax+js实现请求json格式数据并渲染到html页面操作示例
Jun 02 jQuery
jQuery实现鼠标拖拽登录框移动效果
Sep 13 jQuery
jQuery treeview树形结构应用
Mar 24 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
通过html表格发电子邮件
2006/10/09 PHP
php生成扇形比例图实例
2013/11/06 PHP
php 微信公众平台开发模式实现多客服的实例代码
2016/11/07 PHP
Laravel框架集合用法实例浅析
2020/05/14 PHP
JS 的应用开发初探(mootools)
2009/12/19 Javascript
jquery插件 autoComboBox 下拉框
2010/12/22 Javascript
jQuery的运行机制和设计理念分析
2011/04/05 Javascript
获取内联和链接中的样式(js代码)
2013/04/11 Javascript
javascript中replace( )方法的使用
2015/04/24 Javascript
JavaScript中的parse()方法使用简介
2015/06/12 Javascript
jQueryUI中的datepicker使用方法详解
2016/05/25 Javascript
详解nodejs操作mongodb数据库封装DB类
2017/04/10 NodeJs
基于jQuery的左滑出现删除按钮的示例
2017/08/29 jQuery
使用vue的transition完成滑动过渡的示例代码
2018/06/25 Javascript
vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置
2019/11/26 Javascript
vue实现pdf文档在线预览功能
2019/11/26 Javascript
JavaScript canvas绘制折线图
2020/02/18 Javascript
vue中音频wavesurfer.js的使用方法
2020/02/20 Vue.js
three.js 制作动态二维码的示例代码
2020/07/31 Javascript
jQuery实现评论模块
2020/08/19 jQuery
使用Vant完成DatetimePicker 日期的选择器操作
2020/11/12 Javascript
[02:17]2016完美“圣”典风云人物:Sccc专访
2016/12/03 DOTA
Python实现找出数组中第2大数字的方法示例
2018/03/26 Python
对python中数据集划分函数StratifiedShuffleSplit的使用详解
2018/12/11 Python
PyQt打开保存对话框的方法和使用详解
2019/02/27 Python
Python实现病毒仿真器的方法示例(附demo)
2020/02/19 Python
Django之choices选项和富文本编辑器的使用详解
2020/04/01 Python
美国高端医师级美容产品电商:BeautifiedYou.com
2017/04/17 全球购物
印度排名第一的蛋糕、鲜花和礼品送货:Winni
2019/08/02 全球购物
英国最大的独立玩具专卖店:The Entertainer
2019/09/06 全球购物
奢华时尚的创新平台:Baltini
2020/10/03 全球购物
面试自我介绍演讲稿
2014/04/29 职场文书
标准毕业生自荐信
2014/06/24 职场文书
施工安全汇报材料
2014/08/17 职场文书
索赔员岗位职责
2015/02/15 职场文书
实用干货:敬酒词大全,帮你应付各种场合
2019/11/21 职场文书