2016-05-23 366 views
1

我是JS新手,想在頁面加載時設置默認值。我的HTML:在Bootstrap中設置默認下拉值

<!DOCTYPE html> 
    <html> 
     <head> 
     <script src="js/jquery.min.js"></script> 
     <script src="shared/shiny.js" type="text/javascript"></script> 
     <script src="css/bootstrap-3.3.6-dist/js/bootstrap.min.js"></script> 
     <link rel="stylesheet" href="css/bootstrap-3.3.6-dist/css/bootstrap.min.css"> 
     <script src="js/app.js" type="text/javascript"></script> 
     </head> 
     <body> 
     <div class="dropdown" id="country_select"> 
     <button class="btn btn-default dropdown-toggle" type="button" 
      data-toggle="dropdown">Country<span class="caret"></span></button> 
      <ul class="dropdown-menu"> 
      <li><a href="#" country-code="C1">Country1</a></li> 
      <li><a href="#" country-code="C2">Country2</a></li> 
      <li><a href="#" country-code="C3">Country3</a></li> 
      </ul> 
     </div> 
    </body> 

我試圖從類似的問題提出了一些建議,但這些並不在我的工作case.The一個first是:

var main = function(){ 
     var data_start_type = "C1"; 
     var $data_type_elem = $('[country-code='+data_start_type+']'); 
     $('#country_select li a').text($data_type_elem.text()); 

    $("#country_select li a").on("click", function() { 
      var country_selected=$(this).text(); 
      Shiny.onInputChange('this_country', country_selected); //send selected data to the server script 
    }); 
}; 

    $(document).ready(main); 

上面的代碼將下降的所有選項下作爲'Country1'。 我發現this建議我把這個放在我的JS代碼的下面,但它沒有設置任何默認值。

$('#country_select li a')[2].click(); 

有人請指出我該如何解決這個問題?

+0

https://stackoverflow.com/questions/28474857/select-default-value-in-drop-down-bootstrap-3/28523657#28523657 –

回答

0

您希望能夠使用列表來完成此操作,因爲不會爲下拉菜單創建列表。

試試這個:

<select> 
<option>.....</option> 
<option selected="selected">Select a language</option> 
<option>.....</option> 
<option>.....</option> 
<option>.....</option> 
</select> 
+0

這可能是一個選擇,但我特別感興趣的是如何做到這一點同時使用上面使用的引導類。這樣我就可以使用其他自舉功能,我可能沒有使用''選項。 – amo

+0

您可以使用'選項默認在選擇按鈕中給出了用選擇=「defaultoption」設置的選項。問題是我必須點擊一個選項來觸發一個事件。我是否需要對js進行一些更改以選擇在頁面加載時自動觸發的默認事件?我正在使用'$(「#country_select」)。on(「change」,function(){' – amo

0

你確定你正確放置你的代碼?

var main = function(){ 
    var $menu_items = $("#country_select li a"); 

    $menu_items.on("click", function() { 
     Shiny.onInputChange('this_country', $(this).text()); 
    }); 
    $menu_items[0].click(); // 0 for Country1, 1 for Country2, etc 
}; 
$(document).ready(main); 

編輯:這裏有一個demo。如果您打開底部的控制檯,您會看到默認值。

+0

我試過了,但是沒有奏效,爲了調查,我嘗試發送'$ menu_items [1] .text )'到服務器並在UI上打印出來,但它似乎沒有任何價值 – amo

+0

你將不得不編輯你的問題併發布更多的代碼 – Mikey

+0

我已經提供了更多的代碼。我在''上演示了codepen.io,但是當我在本地機器上放置相同的代碼時,它不能按預期工作,即沒有預先選定的值,可能是由於某些函數加載在''? – amo