2013-03-05 62 views
4
<div class="btn-toolbar search-dropdown" style="float:left;margin-right:10px;"> 
    <div class="btn-group"> 
     <button class="btn btn-small">All Types</button> 
     <button data-toggle="dropdown" class="btn btn-small dropdown-toggle"><span class="caret"></span> 
     </button> 
     <ul class="dropdown-menu" id="search-type"> 
      <li> 
       <label class="checkbox"> 
        <input type="checkbox" name="tv" value="TV">TV</input></label> 
      </li> 
      <li> 
       <label class="checkbox"> 
        <input type="checkbox" name="movies" value="Movies">Movies</input></label> 
      </li> 
     </ul> 
    </div> 
</div> 
+0

你想achieve..i認爲你需要根據該 – Peeyush 2013-03-05 22:45:11

+0

我不希望當我點擊下拉搜索中觸發調整你的代碼是什麼。 :) 就這樣。 – vick 2013-03-05 22:49:41

+0

好,那麼你是說當你點擊複選框時你不想關閉下拉菜單...是嗎? – Peeyush 2013-03-05 23:04:20

回答

11

這因爲<button>元素默認提交了自己的表單 - 它們繼承了type="submit"屬性。

如果你不想讓他們這樣做,添加屬性type="button",所以它會成爲一個正常的按鈕。

+1

你是一個天才,謝謝! – vick 2013-03-05 23:42:14

+1

這並不能解決我的問題。在同一個容器中,我有一個Bootstrap下拉列表和一系列按鈕。選擇下拉項目總是會觸發下一個按鈕。他們都設置爲鍵入=「按鈕」。 – 2014-07-22 21:35:29

0

如果你不想關閉下拉框時的複選框一些點擊,那麼你可以是這樣做的:

jQuery(document).ready(function($){ 

    $('input[type="checkbox"]').on('click',function(event){ 
     event.stopPropagation(); 

    }); 

}); 
0

使用<a>元素而不是<button>作爲下拉切換。唯一的缺點是如果您混合使用不同的類型,則可能會導致渲染不一致。如果你擔心這一點,也可以將提交按鈕切換到<a>,並使用JavaScript提交表單onclick。

0
<div class="btn-toolbar search-dropdown" style="float:left;margin-right:10px;"> 
<div class="btn-group"> 
    <button class="btn btn-small">All Types</button> 
    <button data-toggle="dropdown" class="btn btn-small dropdown-toggle"><span class="caret"></span> 
    </button> 
    <ul class="dropdown-menu" id="search-type"> 
     <li> 
      <label class="checkbox"> 
       <input type="checkbox" name="tv" value="TV" onclick="search()">TV</input></label> 
     </li> 
     <li> 
      <label class="checkbox"> 
       <input type="checkbox" name="movies" value="Movies" onclick="search()">Movies</input></label> 
     </li> 
    </ul> 
</div>