2012-04-27 18 views
8

Naturalmente so che gli elementi del modulo SELECT sono difficili da stile e/o modificare oltre le basi.selezionare più piccolo con bootstrap.css

Solo per curiosità, qualcuno sa di una soluzione onestart bootstrap (quella di Twitter) che mi permetterebbe di influenzare la dimensione del SELECT e forse anche di applicare un gradiente che assomiglia più ad un pulsante di bootstrap (rispetto alla superficie graffiante che hanno ora).

Non mi importa di scimmiottare con il CSS, ma ho pensato di chiedere in giro prima di reinventare la ruota.

Qualsiasi suggerimento, link o suggerimento sarebbe molto apprezzato.

risposta

33

Puoi usare il mio plugin per jQuery:

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

si trasformerà la vostra selezione in un pulsante a discesa bootstrap

+1

** Hey silvio, è roba davvero interessante. ** Questo è il genere di cose che sto cercando, grazie mille. Se ti capita di conoscere altri elementi o aggiunte TWITTER-BOOTSTRAP-LIKE, ti prego di farmelo sapere. Grazie mille! – Ace

+0

Ace, ho usato [timepicker] (http://jdewit.github.com/bootstrap-timepicker/) e [datepicker] (http://www.eyecon.ro/bootstrap-datepicker/) – silviomoreto

+0

Ho appena finito questo e ho una domanda.Se controlli il tuo DOM dopo aver avuto il css e JS necessari e naturalmente applicando la classe "selectpicker" sulla tua selezione vedrai che ciò che questo plugin fa è duplicare le opzioni del selettore in un nuovo DIV e poi nasconde il tuo tag select originale ... dovrebbe essere preoccupante in qualsiasi momento ?? – Daniel

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

Alcune spiegazioni sul tuo codice aiuteranno gli utenti futuri – acattle

Problemi correlati