Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Зависимые списки (https://javascript.ru/forum/jquery/67321-zavisimye-spiski.html)

sharunm 10.02.2017 15:54

Зависимые списки
 
Ребята, начал писать универсальную функцию для создания зависимых списков. JQUERY только изучаю, даже самостоятельно написал уже несколько несложных программулинок...

В общем, написал часть скрипта, но по изменению SELECT и просто чтобы ни написал, страница никак не реагирует, при этом все функции Bootstrap рабочие (я бустраповскую ссылку на jquery убрал, вставил https://code.jquery.com/jquery-1.11.3.js).

Пока не стал писать запросов к php скрипту, выложу часть функции, подскажите, может, что-то не так оформил или где-то ошибка?

$('.blue-bg').css('background-color', '#ff0000 !important');// это как тест того, что на скрипт страница реагирует и меняет синий цвет блока на красный


$(document).ready(function() {
	
	
	$(".sensitive").change(function() {
		
		var elementID = $(this).attr('id');
		var sensitiveID = $(this).data('sensitive-target');
		var sensitiveTarget = $(this).data('sensitive');
		var value = $(this).value;
		var action = 'http://birzha/index.php/SensitiveLists/' + sensitiveTarget + '/?' +elementID +'=' + value;
		$(this).attr('rel').value(action);
		
		$('.blue-bg').css('background-color', '#ff0000'); // это как тест того, что на скрипт страница реагирует и меняет синий цвет блока на красный
		
	});
}


Здесь представлено два действия, я, естественно, тестирую все по одному .. Какая-то засада... Все делаю, вроде, как всегда...

рони 10.02.2017 16:00

sharunm,
делайте макет не ждите телепатов

sharunm 10.02.2017 16:17

У меня вопрос, орфографически код верно записан?

рони 10.02.2017 16:33

sharunm,
да

laimas 10.02.2017 16:48

Можно

$(".sensitive").change(function() {
         
        var src = $(this),
             sensitiveID = src.data('sensitive-target');
             sensitiveTarget = src.data('sensitive');
             action = 'http://birzha/index.php/SensitiveLists/' + sensitiveTarget + '/?' +this.id +'=' + this.value;
             src.attr('rel').value(action);
         
        $('.blue-bg').css('background-color', '#ff0000'); // это как тест того, что на скрипт страница реагирует и меняет синий цвет блока на красный
         
    });


Один раз var, это ради экономии ), а вот получать постоянно $(this) не стоит. Если sensitiveID и прочие переменные объявленные только ради формирования action, зачем их создавать, получить свойство value (атрибуты) элемента можно непосредственно, JQ для этого не нужен.

У связанных списков главное их функционал, а "что на скрипт страница реагирует и меняет синий цвет" лучше решать иначе.


Часовой пояс GMT +3, время: 08:09.