Кастомизированный select
Доброго вечера! Есть вот такое задание у меня https://yadi.sk/i/2RfvuKcUmFF4t - надо сделать вот такой select, в интернете подходящий скрипт на кастомизацию не нашел, может даже этот блок и не select-ом делается, но не знаю как. Надо что бы по выбору года, этот год отображался вместо текста "год выпуска", и при возможности повторно выбрать другой год(насколько знаю так работает только тег Select). Подскажите плагин какой, либо как реализовать. Заранее спасибо
|
Павел Турченко,
Учить js и задавать вопрос точнее. Не думаю что есть готовый плагин на то что вы хотите. |
Нужно изменять тег select или делать просто блоками и ссылками с заменой исходного текста?
И разве никто ранее не реализовывал такие меню? |
Цитата:
|
<a href="#" class="btn btn-default dropdown-toggle btn_grey" id="year_link">Год выпуска </a> <div class="div_dropdown year_div"> <a href="#" class="year_dropdown">1999</a> <a href="#" class="year_dropdown">1999</a> <a href="#" class="year_dropdown">1999</a> <a href="#" class="year_dropdown">1999</a> <a href="#" class="year_dropdown">1999</a> <a href="#" class="year_dropdown">1999</a> </div> $(document).ready(function(){ $("#year_link").click(function(){ $(".year_div").css("display", "block"); }); $(".year_dropdown").click(function(){ var a = $(this).text(); $("#year_link").text(a); $(".year_div").css("display", "none"); }); }) Вроде все работает, если можно как-то улучшить, говорите, буду рад. |
Павел Турченко,
вариант... <!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> .year_div{ display: none; } .red{ background-color: #FF0000; color: #FFFFFF; padding: 2px 5px; border-radius: 4px; } </style> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script> $(function() { var b = $(".year_div"), c = $("#year_link"), d = $(".year_dropdown",b); c.add(b).click(function(a) { a.preventDefault(); a = $(a.target); a.is(d) && c.text(a.text()) && d.not(a.addClass('red')).removeClass('red'); b.slideToggle() }) }); </script> </head> <body> <a href="#" class="btn btn-default dropdown-toggle btn_grey" id="year_link">Год выпуска </a> <div class="div_dropdown year_div"> <a href="#" class="year_dropdown">1999</a> <a href="#" class="year_dropdown">2000</a> <a href="#" class="year_dropdown">2001</a> <a href="#" class="year_dropdown">2002</a> <a href="#" class="year_dropdown">2003</a> <a href="#" class="year_dropdown">2004</a> </div> </body> </html> |
рони,
Спасибо, так действительно проще :) |
Павел Турченко,
можно добавить сброс при повторном выборе того же года :) слегка изменив строку 29 <!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> .year_div{ display: none; } .red{ background-color: #FF0000; color: #FFFFFF; padding: 2px 5px; border-radius: 4px; } </style> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script> $(function() { var b = $(".year_div"), c = $("#year_link"), d = $(".year_dropdown",b); c.add(b).click(function(a) { a.preventDefault(); a = $(a.target); a.is(d) && c.text(a.is('.red')? 'Год выпуска': a.text()) && d.not(a.toggleClass('red')).removeClass('red'); b.slideToggle() }) }); </script> </head> <body> <a href="#" class="btn btn-default dropdown-toggle btn_grey" id="year_link">Год выпуска </a> <div class="div_dropdown year_div"> <a href="#" class="year_dropdown">1999</a> <a href="#" class="year_dropdown">2000</a> <a href="#" class="year_dropdown">2001</a> <a href="#" class="year_dropdown">2002</a> <a href="#" class="year_dropdown">2003</a> <a href="#" class="year_dropdown">2004</a> </div> </body> </html> |
Часовой пояс GMT +3, время: 21:35. |