2012-04-27 19 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