2012-08-04 30 views

回答

3

我這個網站發現轉換爲jQuery插件:

(function($) { 
    $.fn.buttonSelect = function() { 
     this.hide().wrap('<div class="btn-group"/>'); 
     var select = this.parent(); 
     var selectedOption=this.find('option[selected]').length>0?this.find('option[selected]'):this.find('option:nth(0)'); 
     var currentValue = selectedOption.val(); 
     var currentText = selectedOption.text(); 
     select.html(
      '<input type="hidden" value="' + this.val() + '"/>'+ 
      '<a class="btn dropdown-toggle" data-toggle="dropdown" href="javascript:;">'+ 
       '<span>'+currentText+'</span>'+ 
       '&nbsp;&nbsp;<span class="caret"></span>'+ 
      '</a>'+ 
      '<ul class="dropdown-menu"></ul>'); 

     var dropdownMenu=select.find('.dropdown-menu'); 
     this.find('option').each(function(o, q) { 
      dropdownMenu. 
       append('<li><a href="javascript:;" data-value="' + $(q).attr('value') + '">' + $(q).text() + '</a></li>'); 
     }); 

     var hidden=select.find('input[type=hidden]'); 
     var label=select.find('.btn span:nth(0)'); 
     dropdownMenu.find('a').click(function() { 
      hidden.val($(this).data('value')).change(); 
      label.text($(this).text()); 
     }); 

     return this; 
    }; 
})(jQuery); 

然後,使用$(ELEM).buttonSelect();使select元素看起來像按鈕組。

+0

要將圓角轉到左側,我將隱藏的輸入字段移到了下拉切換錨點下方。 – danr 2012-11-06 11:22:51