2013-10-25 28 views
1

我使用引導程序做了下拉列表。動態地,我想禁用並啓用下拉列表。如何禁用引導程序下拉列表

的html代碼:

<div class="span3 offset1"> 
     <select name="primary" class="select-block" id="select_alert" style="display: none;"> 
      <option "selected"="">Choose Alert T</option>       


    <option value="T1">T1</option> 

    <option value="T2">T2</option> 

    <option value="T3">T3</option> 

    <option value="T4">T4</option> 

</select> 
<div class="btn-group select select-block"> 
    <i class="dropdown-arrow dropdown-arrow-primary"></i> 
    <button class="btn dropdown-toggle clearfix btn-primary" data-toggle="dropdown" id="select_alert"> 
    <span class="filter-option pull-left">Choose Alert T</span>&nbsp; 
    <span class="caret"></span> 
    </button> 
    <ul class="dropdown-menu dropdown-primary" role="menu"> 
    <li rel="0" class="selected"> 
     <a tabindex="-1" href="#" class=""> 
     <span class="pull-left">Choose Alert T</span> 
     </a> 
    </li> 
    <li rel="1"> 
     <a tabindex="-1" href="#" class=""> 
     <span class="pull-left">T1</span> 
     </a> 
    </li> 
    <li rel="2"> 
     <a tabindex="-1" href="#" class=""> 
     <span class="pull-left">T2</span></a> 
    </li> 
    <li rel="3"> 
     <a tabindex="-1" href="#" class=""> 
     <span class="pull-left">T3</span> 
     </a> 
    </li> 
    <li rel="4"> 
     <a tabindex="-1" href="#" class=""> 
     <span class="pull-left">T4</span> 
     </a> 
    </li> 
    </ul> 
    </div> 
</div> 

有些時候我想禁用,有時我想我enable.So如何才能做到這一點。 在這裏,我有2個更多的下拉元素。所有都放在singlw div標記中。在這裏我沒有提到div標記id的名稱。我只是提出了單下拉元素代碼。

+0

添加禁用類的按鈕。 [this]的副本(http://stackoverflow.com/questions/15697968/how-to-disable-bootstraps-button-dropdown) –

回答

3

通過使用jQuery,我們可以做

禁用下拉

$('.select_alert').attr('data-toggle',''); 

啓用下拉

$('.select_alert').attr('data-toggle','dropdown'); 
+0

最初我希望在啓用後下拉。我在Web控制檯頁面中嘗試了您的代碼。它工作的很好,就是我粘貼在我的.js文件中的相同代碼。它不起作用。 – user2873816

+0

你不需要粘貼在js file.write seperate函數來啓用和禁用和調用該函數確保它的工作 –

+0

我做了一個函數,最初我通過數據切換值爲null(「」)該函數。如果我打電話函數我收到以下錯誤。 '未捕獲的類型錯誤:不能調用未定義的方法'setAttribute'。 – user2873816

7

是的,jQuery的,你可以得到這樣的:

這裏是例子:

http://jsfiddle.net/jV7ye/

$(document).ready(function() { 
    $("#chkdwn2").click(function() { 
     if ($(this).is(":checked")) { 
      $("#dropdown").prop("disabled", true); 
     } else { 
      $("#dropdown").prop("disabled", false); 
     } 
    }); 
}); 

修訂 JS代碼根據自己的需要:

$(document).ready(function() { 

     if(!$("#chkdwn2").is(":checked")) 
     { 
      $("#dropdown").prop("disabled",true); 
     } 

     $("#chkdwn2").click(function() { 
      if ($(this).is(":checked")) { 
       $("#dropdown").prop("disabled", false); 
      } else { 
       $("#dropdown").prop("disabled", true); 
      } 
     }); 
    }); 

更換dropdown ID與您的ID。謝謝

+0

我的你的jsFiddle代碼,交換trur-> false和false-> true。這意味着最初我想disabled.it不工作。 – user2873816

+0

交換真假之後,您是否點擊了「運行」? –

+0

是man.I檢查it.it不工作 – user2873816

-2

您可以通過在屬性上添加if,並將禁用的類添加到下拉列表中來實現。下面

是我的,我已經eanbled /禁用下拉切換按鈕格上IsNewEditDisabled

<button ng-if="!IsNewEditDisabled" class="btn dropdown-toggle" ng-class="{open: status.isopen}" dropdown-toggle> 
           <i class="fa fa-pencil"></i><span class="caret"></span> 
          </button> 
          <button ng-if="IsNewEditDisabled" class="btn dropdown-toggle disabled" ng-class="{open: status.isopen}" dropdown-toggle> 
           <i class="fa fa-pencil"></i><span class="caret"></span> 
          </button>