Есть разметка
<div class="apps_item_body_control-panel">
<div class="container">
<div class="row">
<div class="col-md-12">
<form class="js-filter-panel">
<div class="search --inline js-fcontrol" data-action="sort" data-sort-fild="Name">
<input id="ds" type="search">
<label for="ds" class="fa fa-search"></label>
</div>
<div class="select --inline js-fcontol" data-action="sort" data-sort-fild="Description">
<select id="ewfd">
<!-- <option selected disabled>Sort by:</option> -->
<option>Top</option>
<option>Down</option>
</select>
<label for="ewfd"class="fa fa-chevron-down"></label>
</div>
<div class="search --inline js-fcontrol" data-action="sort" data-sort-fild="Name">
<input id="dds" type="search">
<label for="dds" class="fa fa-search"></label>
</div>
</form>
</div>
</div>
</div>
</div>
И js который делигирует событие на панели фильтров
filterPanel.on('change','.js-fcontrol',function(e){
var self = $(this),
action = self.data('action');
actions[action](self,dataTable);
});
и вот сама функция которая делает сортировку
function _sortElements(self,cont){
var fild = self.data('sort-fild'),
cloader = cont.find('.content-loader'),
value = self.find('select, input, textarea, radio, checkbox').val();
//TODO: добавить сериализацию значений по форме .js-filter-panel
console.log('change');
//лоудер
cont.addClass('--load');
cont.find('tr:not(.content-loader)').remove();
//отсылаем запрос на элименты
setTimeout(function(){
cont.removeClass('--load');
$(template(
{
data:[
{
id:0,
filds:[
{
edit:true,
value:'Программное обеспечение ВМТ'
},
{
edit:true,
value:'Список всего ПО используемого в ВМТ'
},
{
edit:false,
value:'12.03.2015',
},
{
edit:true,
value:'http://wmz.docs.com/doc/1'
}
]
},
],
}
)).insertBefore(cloader);
},1500);
//отрисовываем присланные данные
//стоп лоудер
}
Дело в том что событие change срабатывает на input,но на select нет. В чём проблема? Если чисто повесить на select то всё работает :)