如何使用引导程序呈现列表选择框(下拉列表)?

gen*_*eek 206 twitter-bootstrap

是否有任何开箱即用的支持,以呈现"常规"事实下拉列表选择框?也就是说,下拉框是一个值列表,如果选中,则填充列表框的内容?

类似于这个功能的东西?

http://bootstrapformhelpers.com/select/

在此输入图像描述

Bae*_*ins 425

Bootstrap 3使用.form-control该类来设置表单组件的样式.

<select class="form-control">
    <option value="one">One</option>
    <option value="two">Two</option>
    <option value="three">Three</option>
    <option value="four">Four</option>
    <option value="five">Five</option>
</select>
Run Code Online (Sandbox Code Playgroud)

http://getbootstrap.com/css/#forms-controls


Zim*_*Zim 38

另一种选择是使Bootstrap下拉行为像使用jQuery的select一样...

$(".dropdown-menu li a").click(function(){
  var selText = $(this).text();
  $(this).parents('.btn-group').find('.dropdown-toggle').html(selText+' <span class="caret"></span>');
});
Run Code Online (Sandbox Code Playgroud)

http://www.bootply.com/b4NKREUPkN

  • 当您不想要表格时很有用.谢谢. (4认同)

小智 11

现在,对于Bootstap中下拉语法的更改,Skelly的简单回答已经过时了.而是使用这个:

$(".dropdown-menu li a").click(function(){
  var selText = $(this).text();
  $(this).parents('.form-group').find('button[data-toggle="dropdown"]').html(selText+' <span class="caret"></span>');
});
Run Code Online (Sandbox Code Playgroud)


Bry*_*ira 11

测试:http://jsfiddle.net/brynner/hkwhaqsj/6/

HTML

<div class="input-group-btn select" id="select1">
    <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false"><span class="selected">One</span> <span class="caret"></span></button>
    <ul class="dropdown-menu option" role="menu">
        <li id="1"><a href="#">One</a></li>
        <li id="2"><a href="#">Two</a></li>
    </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

jQuery的

$('body').on('click','.option li',function(){
    var i = $(this).parents('.select').attr('id');
    var v = $(this).children().text();
    var o = $(this).attr('id');
    $('#'+i+' .selected').attr('id',o);
    $('#'+i+' .selected').text(v);
});
Run Code Online (Sandbox Code Playgroud)

CSS

.select button {width:100%; text-align:left;}
.select .caret {position:absolute; right:10px; margin-top:10px;}
.select:last-child>.btn {border-top-left-radius:5px; border-bottom-left-radius:5px;}
.selected {padding-right:10px;}
.option {width:100%;}
Run Code Online (Sandbox Code Playgroud)


Ari*_*iel 11

另一种选择可能是使用bootstrap select.用他们自己的话说:

使用按钮下拉列表为Bootstrap自定义选择/多选,旨在表现得像常规的Bootstrap选择.


小智 5

不使用.form-control的另一种方法是:

  $(".dropdown-menu li a").click(function(){
        $(this).parents(".btn-group").find('.btn').html($(this).text() + ' <span class="caret"></span>');
        $(this).parents(".btn-group").find('.btn').val($(this).data('value'));
      });
Run Code Online (Sandbox Code Playgroud)

$(".dropdown-menu li a").click(function(){
  $(this).parents(".btn-group").find('.btn').html($(this).text() + ' <span class="caret"></span>');
  $(this).parents(".btn-group").find('.btn').val($(this).data('value'));
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<link href="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet"/>
<script src="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>


<div class="btn-group">
  <button  type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                  Test <span class="caret"> </span>
  </button>
  <ul class="dropdown-menu">
    <li><a href='#'>test 1</a></li>
    <li><a href='#'>test 2</a></li>
    <li><a href='#'>test 3</a></li>
  </ul>
</div>
Run Code Online (Sandbox Code Playgroud)