vertically displayed jquery buttonset

后端 未结 3 1738
悲哀的现实
悲哀的现实 2021-02-19 02:16

i\'m using the jquery ui button, is it possible to display the radio button vertically?it seems to default to horizontal.

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

相关标签:
3条回答
  • 2021-02-19 02:37

    There isn't a built-in way to do this...not at the moment anyway. The markup and styling is built around a horizontal set.

    0 讨论(0)
  • 2021-02-19 02:39

    I wrote a short plugin that implement vertical buttonset for radio buttons and checkboxes with jquery ui.

    1. jQuery Plugin

    (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. Sample markup

    <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. Plugin Usage

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

    Here the plugin and example code

    I hope this can help you :)

    0 讨论(0)
  • 2021-02-19 02:40

    Place the individual buttons in their own div tags.

    Credit to leacar21 from: https://forum.jquery.com/topic/how-to-vertical-radio-button-set

    <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>

    0 讨论(0)
提交回复
热议问题