2012-04-27 23 views
8

当然,我知道SELECT表单元素很难在样式和/或修改之外进行修改。更小和更好用bootstrap.css选择

只是出于好奇,有没有人知道一次性引导(一个来自twitter)的解决方案,这将允许我影响SELECT的大小,甚至可能应用渐变看起来更像一个引导按钮(比他们现在的沙哑表面)。

我不介意用CSS自己兜兜转转,但我想我会在重新发明轮子之前询问一下。

任何指针,链接或建议将不胜感激。

回答

33

你可以使用我的jQuery插件:

http://silviomoreto.github.com/bootstrap-select/

它将把你选入引导按钮下拉

+1

**嘿,西尔维奥,真的很酷。**这是我正在寻找的东西,非常感谢你。如果您碰巧知道其他TWITTER-BOOTSTRAP-LIKE元素或添加项,请告诉我。非常感谢你! – Ace 2012-10-12 16:28:07

+0

王牌,我用[timepicker](http://jdewit.github.com/bootstrap-timepicker/)和[datepicker](http://www.eyecon.ro/bootstrap-datepicker/) – silviomoreto 2012-11-14 19:54:43

+0

我刚刚绕过这个我有一个问题。如果你检查你的DOM后,有CSS和JS需要和当然在你的选择应用“selectpicker”类,你会看到这个插件做的是在新的DIV中重复你的选择器选项,然后隐藏你原来的选择标签......这应该在任何时候都令人担忧? – Daniel 2013-04-06 10:45:48

4

有点晚,但也许这可以帮助http://blog.iamjamoy.com/docs/select.html

或本http://ivaynberg.github.com/select2/

第一个doesn't工作的IE浏览器,如果你能解决这个问题,请提供。

+0

**谢谢亚历杭德罗·**这是一个“很好的。有“解决方案,我非常感谢你的帮助。谢谢。 – Ace 2012-10-12 16:24:07

+0

这不适用于IE10(没有意外) - 没有测试过其他人。 – 2013-04-29 19:19:54

0
jQuery(function($){ 
     $('select').each(function(i, e){ 
      if (!($(e).data('convert') == 'no')) { 
       //$(e).hide().wrap('<div class="btn-group" id="select-group-' + i + '" />'); 
       $(e).after('<div class="btn-group" id="select-group-' + i + '" />'); 
       var select = $('#select-group-' + i); 
       var current = ($(e).val()) ? $(e).val(): '&nbsp;'; 
       select.html('<input type="hidden" value="' + $(e).val() + '" name="' + $(e).attr('name') + '" id="' + $(e).attr('id') + '" class="' + $(e).attr('class') + '" /><a class="btn" href="javascript:;">' + current + '</a><a class="btn dropdown-toggle" data-toggle="dropdown" href="javascript:;"><span class="caret"></span></a><ul class="dropdown-menu"></ul>'); 
       $(e).find('option').each(function(o,q) { 
        select.find('.dropdown-menu').append('<li><a href="javascript:;" data-value="' + $(q).attr('value') + '">' + $(q).text() + '</a></li>'); 
        if ($(q).attr('selected')) select.find('.dropdown-menu li:eq(' + o + ')').click(); 
       }); 
       select.find('.dropdown-menu a').click(function() { 
        select.find('input[type=hidden]').val($(this).data('value')).change(); 
        select.find('.btn:eq(0)').text($(this).text()); 
       }); 
       $(e).remove(); 
      } 
     }); 
    }); 
+4

你的代码的一些解释将有助于未来的用户 – acattle 2013-02-22 08:28:24