AlexBelkevich
@AlexBelkevich
Нет нерешаемых задач. Есть деревянные клиенты

Почему не отрабатывает одна и та же функция еще раз?

Здравствуйте, подскажите, пожалуйста, в чем мой косяк. Вот тестовая страница. Там есть выбор автомобиля. После выбора марки показывается выбор модели. По идее после выбора модели должен показываться выбор года, но почему-то год остается disabled. Почему такое?
Вот код:
function selectAuto(classSelect, pathJson, firstOption) {
  		$('select.' + classSelect).find('option').remove();
 		$('select.' + classSelect).append( "<option>" + firstOption + "</option>" );
 		$.getJSON(pathJson, function (data) {
			$.each( data, function( key, val ) {
				$('select.' + classSelect).append( "<option>" + val + "</option>" );
			});
		});
 		setTimeout(function() {
			$('.tire-selection-select.' + classSelect).attr('disabled', false).trigger('refresh');
		}, 100)
  	};

 	$('.jq-selectbox.select-mark .jq-selectbox__dropdown li:not(:first-child)').on('click', function(){
 		selectAuto('select-model', 'js/json/models.json', 'Модель');
 	});

 	$('.jqselect.select-model li:not(:first-child)').on('click', function(){
 		selectAuto('select-year', 'js/json/year.json', 'Год');
 	});
  • Вопрос задан
  • 88 просмотров
Решения вопроса 1
AlexBelkevich
@AlexBelkevich Автор вопроса
Нет нерешаемых задач. Есть деревянные клиенты
Проблема решилась так:
$(document).on('click','.jqselect.select-model li:not(:first-child)', function(){
 		selectAuto('select-year', 'js/json/year.json', 'Год');
 	});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
romy4
@romy4
Exception handler
setTimout?
так не делается
либо промисы и тогда на успех обоих меняется атрибут disable
либо на onChange обоих селектов вызывается некая функция-обработчик проверяющая состояния и делающая disable для третьего
Ответ написан
Ваш ответ на вопрос

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

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