垂直显示的jquery按钮组

时间:2010-11-04 15:08:35

标签: jquery-ui

我正在使用jquery ui按钮,是否可以垂直显示单选按钮?它似乎默认为水平。

http://jqueryui.com/demos/button/#radio

非常感谢

3 个答案:

答案 0 :(得分:31)

我写了一个简短的插件,用于实现单选按钮的垂直按钮和使用jquery ui的复选框。

1。 jQuery插件

(function( $ ){
//plugin buttonset vertical
$.fn.buttonsetv = function() {
  $(':radio, :checkbox', this).wrap('<div style="margin: 1px"/>');
  $(this).buttonset();
  $('label:first', this).removeClass('ui-corner-left').addClass('ui-corner-top');
  $('label:last', this).removeClass('ui-corner-right').addClass('ui-corner-bottom');
  var maxWidth = 0; // max witdh
  $('label', this).each(function(index){
     var labelWidth = $(this).width();
     if (labelWidth > maxWidth ) maxWidth = labelWidth ; 
  })
  $('label', this).each(function(index){
    $(this).width(maxWidth);
  })
};
})( jQuery );

2。样本标记

<h2> Radio Buttonset </h2>
<div id="radio">
  <input type="radio" id="radio1" name="radio" value="1"/><label for="radio1">Choice 1</label>
  <input type="radio" id="radio2" name="radio" value="2"/><label for="radio2">Choice 2</label>
  <input type="radio" id="radio3" name="radio" value="3"/><label for="radio3">Choice 3</label>
</div>
<h2> Checkbox Buttonset </h2>
<div id="checkbox">
  <input type="checkbox" id="check1" name="check" value="1"/><label for="check1">Choice 1</label>
  <input type="checkbox" id="check2" name="check" value="2"/><label for="check2">Choice 2</label>
  <input type="checkbox" id="check3" name="check" value="3"/><label for="check3">Choice 3</label>
</div>

3。插件使用

$(document).ready(function(){
    //call plugin 
    $("#radio").buttonsetv();
    $("#checkbox").buttonsetv();
});

Here the plugin and example code

我希望这可以帮助你:)

答案 1 :(得分:4)

将各个按钮放在自己的div标签中。

来自:https://forum.jquery.com/topic/how-to-vertical-radio-button-set

的leacar21

<div id="someSet"> <div><input type="radio" id="button1"... ></div> <div><input type="radio" id="button2"... ></div> <div><input type="radio" id="button3"... ></div> </div>

答案 2 :(得分:2)

没有内置的方法可以做到这一点......目前还没有。标记和样式是围绕水平集构建的。