我是bootstrap的新手,我正在尝试使用表中的multiselect元素作为过滤器选择器。
我可以通过使用onchange事件获取所选的值,但是如何获取select元素所在字段的ID?我尝试了$ this,event和.id的不同变体和组合。
我真的需要知道这个选择的字段,否则我无法使用它。
(var fieldId行上注释掉的代码是我尝试过的一些选项)
TIA
// Multi select
$('.chosen-select').multiselect({
buttonWidth: '150px',
includeSelectAllOption: true,
enableFiltering: true,
onChange: function(option, checked, select) {
var fieldId = $(option.target)[0]; //=$(this).attr("id"); option.target.id ; $(option).id; $(select).id;
console.log('ID = ' + fieldId +' or '+ this.id + ' Changed option ' + $(option).val() + '.');
},

答案 0 :(得分:0)
将此行添加到您的onChange事件:
var selectID = $(option).parent().attr('id');

以下是一个完整的例子:
$('#multiSelect1').multiselect({
onChange: function(option, checked) {
var selectID = $(option).parent().attr('id');
}
});

<select id="multiSelect1" multiple="multiple">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
&#13;
答案 1 :(得分:0)
对于没有参数的事件,例如:onSelectAll,你可以这样使用
var selectId = $(this.$select).attr('id');