如何在Backstat.js中的多个选择的Bootstrap选择中关闭下拉事件

时间:2015-11-29 12:35:23

标签: javascript jquery twitter-bootstrap backbone.js bootstrap-select

我在使用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',

2 个答案:

答案 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');});