我在使用Backbone.js的应用程序中使用带有多个选择的bootstrap select。现在我想在完成所有选择并关闭下拉后触发事件。更改事件将触发我不想要的每个选项。
我的代码在
下面
var agentMetricView = ParentView.extend({
events: {
'mouseup .js-table-agent': 'adjustAgentTable',
'change .js-select': 'changeDropdown',
},
changeDropdown: function(event) {
debugger;
/*this.selectedSkill = $("#skill-agent").find("option:selected").text();*/
console.log($(event.currentTarget.id).val());
}
});
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提供了一个选项,但我不知道如何在Backbone中使用它
$selectpicker.on('hidden.bs.dropdown', function() {
console.log('hide');
});
检查Bootstrap-Select issue #216 Change Event
当我添加下面的事件监听器时,它不会触发
'hide.bs.dropdown .selectpicker ': 'changeDropdown',
答案 0 :(得分:0)
我找到了解决方案,但实际原因我不清楚。问题在于使用bootstrap类&#34; .selectpicker&#34;当我使用自己的自定义类&#34; .js-select&#34;这是工作。这似乎就是答案
'hide.bs.dropdown .js-select': 'changeDropdown',
而不是
'hide.bs.dropdown .selectpicker ': 'changeDropdown',
原因我不知道我有人告诉我会很高兴知道。
答案 1 :(得分:0)
这对我有用:
$('#yourid').on('hide.bs.select', function (e) {alert('test');});