本文實例講述了jQuery模擬html下拉多選框的原生實現方法。分享給大家供大家參考,具體如下:
用js, html, css 簡單的實現一個HTML 下拉多選框,不試用其他框架的情況下,可以借鑒一下,如果用jqueryUI, BOOTSTRAP, 就沒必要參考了。畢竟那些現成的東西更好用。
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>www.companysz.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>
運行效果:
感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.VeVB.COm/code/HtmlJsRun測試上述代碼運行效果。
更多關于jQuery相關內容感興趣的讀者可查看本站專題:《jQuery頁面元素操作技巧匯總》、《jQuery常見事件用法與技巧總結》、《jQuery常用插件及用法總結》、《jQuery擴展技巧總結》及《jquery選擇器用法總結》
希望本文所述對大家jQuery程序設計有所幫助。
新聞熱點
疑難解答