2017-05-11 15 views
1

我設法顯示引導多選。我有麻煩。 當select被關閉時,我希望我可以調用$(this)。

請幫助我。

編輯:

for (var akun in data_akun){ 
    $('#select_akun'+data_akun[akun]['id']).multiselect({ 
     includeSelectAllOption: true, 
     onDropdownHide: function(event) { 
      alert($(this).attr('current-attribute')); 
     } 
    }) 
} 
+0

請添加一些HTML ... – Alexander

+0

是用'選擇-multi1' ID有多個元素? – Manoj

+0

@Manoj實際上,我使用循環來調用$(選擇器).multiselect() – Ukasyah

回答

1

基本上在onDropdownHide情況下,我們不直接拿到element參考。爲了得到它,我們可以使用以下方法。引導程序multiselect生成它自己的DOM結構並且樣式爲原始的<select>框。無論爲顯示目的生成的DOM插入原始<select>框旁邊還是旁邊。請使用瀏覽器開發工具的inspect元素功能來檢查生成的DOM。

$(document).ready(function() { 
 
     $('.example-getting-started').multiselect({ 
 
     includeSelectAllOption: true, 
 
     onDropdownHide: function(event) { 
 
      var selectObj = $(event.target).prev("select"); 
 
      alert($(selectObj).attr('current-attribute')); 
 
     } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> 
 
<!-- Latest compiled and minified JavaScript --> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> 
 

 
<link rel="stylesheet" href="http://davidstutz.github.io/bootstrap-multiselect/dist/css/bootstrap-multiselect.css" type="text/css"> 
 

 
<script type="text/javascript" src="http://davidstutz.github.io/bootstrap-multiselect/dist/js/bootstrap-multiselect.js"></script> 
 

 
<select class="example-getting-started" current-attribute='hello'> 
 
    <option value="cheese">Cheese</option> 
 
    <option value="tomatoes">Tomatoes</option> 
 
    <option value="mozarella">Mozzarella</option> 
 
    <option value="mushrooms">Mushrooms</option> 
 
    <option value="pepperoni">Pepperoni</option> 
 
    <option value="onions">Onions</option> 
 
</select> 
 

 
<select class="example-getting-started" current-attribute='world'> 
 
    <option value="cheese">Cheese</option> 
 
    <option value="tomatoes">Tomatoes</option> 
 
    <option value="mozarella">Mozzarella</option> 
 
    <option value="mushrooms">Mushrooms</option> 
 
    <option value="pepperoni">Pepperoni</option> 
 
    <option value="onions">Onions</option> 
 
</select>

+0

我的不好。謝謝你的努力。它對我非常有幫助。 – Ukasyah

+0

沒有可能@Ukasyah。歡迎...':)'! – vijayP

2

試試這個,這將幫助你

for (var akun in data_akun){ 
    var $this = $('#select_akun'+data_akun[akun]['id']); 
    $this.multiselect({ 
     includeSelectAllOption: true, 
     onDropdownHide: function(event) { 
      alert($this.attr('current-attribute')); 
     } 
    }) 
} 
+0

完美!這就是我需要的,非常感謝。 – Ukasyah

+1

這不會工作我猜...警報將顯示for循環中出現的最後一個選擇框的當前屬性。 – vijayP

+0

@vijayP這將工作我已經做了好幾次。你可以在現場測試 – Manoj