VIKINGVyksa
@VIKINGVyksa
front-end developer

Почему не работает событие change?

Есть разметка
<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 то всё работает :)
  • Вопрос задан
  • 570 просмотров
Решения вопроса 1
VIKINGVyksa
@VIKINGVyksa Автор вопроса
front-end developer
оооооууу всем сорян я просто опечатался) У селекта прописал класс .js-fcontol вместо .js-fcontrol. Ну как всегда...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы