0

我在使用Backbone.js的應用程序中使用多選的引導選擇。現在,我想在所有選擇完成後觸發一個事件,並關閉下拉菜單。更改事件將觸發我不想要的每個選擇。如何在Bootstrap下拉菜單中選擇Backbone.js中的多個選項來觸發事件

我的代碼如下

var agentMetricView = ParentView.extend({ 
 

 
\t \t events: { 
 
\t \t \t 'mouseup .js-table-agent': 'adjustAgentTable', 
 
\t \t \t 'change .js-select': 'changeDropdown', 
 
\t \t }, 
 
     
 
\t \t changeDropdown: function(event) { 
 
\t \t \t debugger; 
 
\t \t \t /*this.selectedSkill = $("#skill-agent").find("option:selected").text();*/ 
 
\t \t \t console.log($(event.currentTarget.id).val()); 
 
\t \t } 
 
     
 
    \t }); 
 

 
\t return agentMetricView;
<span class="dropdown-text">Dept:</span> 
 
     <select class="selectpicker left_float js-select" data-select="selectedDept" multiple data-hide-disabled="true" data-size="5" data-style="btn-primary" data-width="120px"> 
 
     <option>Option 1</option> 
 
     <option>Option 2</option> 
 
     <option>Option 3</option> 
 
     <option>Option 4</option> 
 
     </select>

silviomoreto提供了一個選項,但我不知道如何在骨幹使用

$selectpicker.on('hidden.bs.dropdown', function() { 
    console.log('hide'); 
}); 

檢查Bootstrap-Select issue #216 Change Event

當我a dd下面的事件監聽器它不會觸發

'hide.bs.dropdown .selectpicker ': 'changeDropdown', 
+0

可能在骨幹事件節點的'hide'之後沒有空格嗎?嘗試''隱藏.bs.dropdown':'changeDropdown',''或''隱藏.selectpicker':'changeDropdown',' –

+0

@MaxZuber謝謝你的回覆,我發現解決方案的問題是由於selectpicker類的時候我正在使用它正在工作的自定義類,這似乎是'hide.bs.dropdown .js-select'的答案:'changeDropdown',不知道爲什麼 –

回答

0

我找到了解決方案,雖然我不明白的實際原因。問題是使用引導類「.selectpicker」,當我使用我自己的自定義類「.js-select」它正在工作。這似乎是答案

'hide.bs.dropdown .js-select': 'changeDropdown', 

,而不是這個

'hide.bs.dropdown .selectpicker ': 'changeDropdown', 

原因我不知道我有人告訴我會很高興知道。

相關問題