@amazinginternetsites

Как объединить 2 функции js?

Здравствуйте, у меня есть 2 функции, но почему-то происходит какой-то конфликт, можно как-то их объединить, ведь они практически похожи, только зависят от разных селектов. Т.е. показ #f_lr1gr2el1, #f_lr1gr2el2, #f_lr1gr2el3, #f_lr1gr2el4, #f_lr1gr2el5 зависит одновременно либо от value=8 селекта с #lr1rt, либо от value=5 селекта с #lr1gr2

$(function() {
//Первая часть
var update44 = function() {
             var val = +this.value;
             var showFirst = [8].indexOf(val) >= 0;
			 $('#f_lr1gr2el1').toggle(showFirst);
			 $('#f_lr1gr2el2').toggle(showFirst);
			 $('#f_lr1gr2el3').toggle(showFirst);
			 $('#f_lr1gr2el4').toggle(showFirst);
			 $('#f_lr1gr2el5').toggle(showFirst);
			 !showFirst && $('#f_lr1gr2el1 select').val(1).change();
			 !showFirst && $('#f_lr1gr2el2 select').val(1).change();
			 !showFirst && $('#f_lr1gr2el3 select').val(1).change();
			 !showFirst && $('#f_lr1gr2el4 select').val(1).change();
			 !showFirst && $('#f_lr1gr2el5 select').val(1).change();
			 };
//Зависит от селекта #lr1rt
$('#lr1rt').change(update44).change();

//Вторая часть
			 var update13 = function() {
             var val = +this.value;
             var showFirst = [5].indexOf(val) >= 0;
			 $('#f_lr1gr2el1').toggle(showFirst);
			 $('#f_lr1gr2el2').toggle(showFirst);
			 $('#f_lr1gr2el3').toggle(showFirst);
			 $('#f_lr1gr2el4').toggle(showFirst);
			 $('#f_lr1gr2el5').toggle(showFirst);
			 !showFirst && $('#f_lr1gr2el1 select').val(1).change();
			 !showFirst && $('#f_lr1gr2el2 select').val(1).change();
			 !showFirst && $('#f_lr1gr2el3 select').val(1).change();
			 !showFirst && $('#f_lr1gr2el4 select').val(1).change();
			 !showFirst && $('#f_lr1gr2el5 select').val(1).change();
			 };
//Зависит от селекта #lr1gr2
$('#lr1gr2').change(update13).change();

     });


На скринах, думаю будет понятней в чем конфликт.
После того, как в одном из выпадающих списков #lr1gr2 я выбираю пункт 5 открываются дополнительные выпадающие списки. После их заполнения - данные отправляются в базу.
a77cf321521e452aaee2592b165cfdac.png
Но при переходе обратно к редактированию появившиеся блоки (выпадающие списки) не отображаются.
73e7a1cc9700403da7314ca8692f61b5.png
Если я удаляю одну из функций js, то все показывается верно, т.е.
a77cf321521e452aaee2592b165cfdac.png
  • Вопрос задан
  • 876 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
16 мая 2024, в 23:36
200000 руб./за проект
16 мая 2024, в 23:10
12000 руб./за проект