Bootstrap 3选择内联输入表格

Col*_*tor 29 html-select twitter-bootstrap twitter-bootstrap-3

我正在尝试获取输入并选择内联的选项内联,就像使用Bootstrap 2的这个演示一样.

按照Bootstrap 3指南,我设法做到这一点:

<div class="container">
    <div class="col-sm-7 pull-right well">
      <form class="form-inline" action="#" method="get">
        <div class="form-group col-sm-5">
          <input class="form-control" type="text" value="" placeholder="Search" name="q">
        </div>
        <div class="form-group col-sm-3">
          <select class="form-control" name="category">
              <option>select</option>
              <option>1</option>
              <option>2</option>
              <option>3</option>
          </select>
        </div>
        <button class="btn btn-primary col-sm-3 pull-right" type="submit">Search</button>
      </form>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

它是响应性的,但输入和选择不能没有一些讨厌的CSS黑客附加.我发现很多附带按钮的例子,但是这对select元素不起作用.

小智 32

我想我偶然发现了一个解决方案.唯一要做的就是<span class="input-group-addon"></span><input>和之间插入一个空<select>.

此外,您可以通过减小宽度,水平填充和边框使其"不可见":

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/>

<div class="input-group">
    <span class="input-group-addon" title="* Price" id="priceLabel">Price</span>
    <input type="number" id="searchbygenerals_priceFrom" name="searchbygenerals[priceFrom]" required="required" class="form-control" value="0">
    <span class="input-group-addon">-</span>
    <input type="number" id="searchbygenerals_priceTo" name="searchbygenerals[priceTo]" required="required" class="form-control" value="0">
  
    <!-- insert this line -->
    <span class="input-group-addon" style="width:0px; padding-left:0px; padding-right:0px; border:none;"></span>
  
    <select id="searchbygenerals_currency" name="searchbygenerals[currency]" class="form-control">
        <option value="1">HUF</option>
        <option value="2">EUR</option>
    </select>
</div>
Run Code Online (Sandbox Code Playgroud)

在Chrome和FireFox上测试过.


小智 16

可以使用纯Bootstrap代码完成.

<link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/css/bootstrap.css" rel="stylesheet"/>

<div class="form-group">
  <label for="id" class="col-md-2 control-label">ID</label>
  <div class="input-group">
    <span class="input-group-btn">
      <select class="form-control" name="id" id="id">
        <option value="">
      </select>
    </span>
    <span class="input-group-btn">
      <select class="form-control" name="nr" id="nr">
        <option value="">
      </select>
    </span>
  </div>	
</div>	
Run Code Online (Sandbox Code Playgroud)


Jes*_*e C 10

感谢G_money和其他关于输入文本的优秀解决方案的建议以及内联下拉...这是另一个很好的解决方案.

<form class="form-inline" role="form" id="yourformID-form" action="" method="post">
    <div class="input-group">
        <span class="input-group-addon"><i class="fa fa-male"></i></span>

        <div class="form-group">
            <input size="50" maxlength="50" class="form-control" name="q" type="text">          
        </div>

        <div class="form-group">
            <select class="form-control" name="category">
                <option value=""></option>
                <option value="0">select1</option>
                <option value="1">select2</option>
                <option value="2">select3</option>
            </select>           
        </div>
    </div>
</form>
Run Code Online (Sandbox Code Playgroud)

这适用于Bootstrap 3:允许输入文本内联一个选择下拉列表.这是下面的样子......

在此输入图像描述


小智 9

它需要一个小的CSS添加才能使它与Bootstrap 3一起使用:

.input-group-btn:last-child > .form-control {
  margin-left: -1px;
  width: auto;
}
Run Code Online (Sandbox Code Playgroud)
<link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/css/bootstrap.css" rel="stylesheet"/>

<div class="form-group">
  <div class="input-group">
    <input class="form-control" name="q" type="text" placeholder="Search">
    
    <div class="input-group-btn">
      <select class="form-control" name="category">
        <option>select</option>
        <option>1</option>
        <option>2</option>
        <option>3</option>
      </select>
    </div>
    
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)


spa*_*ean 7

我似乎无法在没有黑客的情况下完成这项工作,所以我所做的只是使用下拉菜单代替选择框并通过隐藏字段发送信息,如此(使用您的代码):

http://bootply.com/93417

jQuery的:

$('.dropdown-menu li').click(function(e){
e.preventDefault();
  var selected = $(this).text();
  $('.category').val(selected);  
});
Run Code Online (Sandbox Code Playgroud)

HTML:

<div class="container">
    <div class="col-sm-7 pull-right well">
      <form class="form-inline" action="#" method="get">
        <div class="input-group col-sm-8">
          <input class="form-control" type="text" value="" placeholder="Search" name="q">
       <div class="input-group-btn">
        <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">Select <span class="caret"></span></button>
        <ul class="dropdown-menu">
          <li><a href="#">1</a></li>
          <li><a href="#">2</a></li>
          <li><a href="#">3</a></li>
        </ul>
         <input type="hidden" name="category" class="category">
      </div><!-- /btn-group -->
        </div>
        <button class="btn btn-primary col-sm-3 pull-right" type="submit">Search</button>
      </form>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

不确定这是否适合您的需求,但它是您的选择.