jQuery模拟html下拉多选框的原生实现方法示例
程序员文章站
2022-10-15 21:59:26
本文实例讲述了jquery模拟html下拉多选框的原生实现方法。分享给大家供大家参考,具体如下:
用js, html, css 简单的实现一个html 下拉多选框,不试用...
本文实例讲述了jquery模拟html下拉多选框的原生实现方法。分享给大家供大家参考,具体如下:
用js, html, css 简单的实现一个html 下拉多选框,不试用其他框架的情况下,可以借鉴一下,如果用jqueryui, bootstrap, 就没必要参考了。毕竟那些现成的东西更好用。
<html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>www.jb51.net 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>
运行效果:
感兴趣的朋友可以使用在线html/css/javascript代码运行工具:http://tools.jb51.net/code/htmljsrun测试上述代码运行效果。
更多关于jquery相关内容感兴趣的读者可查看本站专题:《jquery页面元素操作技巧汇总》、《jquery常见事件用法与技巧总结》、《jquery常用插件及用法总结》、《jquery扩展技巧总结》及《jquery选择器用法总结》
希望本文所述对大家jquery程序设计有所帮助。
上一篇: 这么损的老公