нужна небольшая помощь с js

kir_pich
На сайте с 09.07.2006
Offline
124
376

Здравствуйте форумчане. Нужна небольшая помощь с js.

Есть шлакокод:

  $('.form_cfg #filtr_serv').on('click', function (){

    var cfg1 = document.getElementById('cfg1').value;

    var cfg2 = document.getElementById('cfg2').value;

    var cfg3 = document.getElementById('cfg3').value;


    $('#base option').removeClass('amino');

    $('#base option.'+cfg1.value+'.'+cfg2.value+'.'+cfg3.value).attr('id', 'amino');

      console.log(cfg1+'.'+cfg2+'.'+cfg3);

  });

страница ___dev.gtek.su/test/test_filt.html___

при клике на 3 разных обьекта - передаётся значение в инпуты, я их граблю и подставляю эти значения в строку $('#base option.'+cfg1.value+'.'+cfg2.value+'.'+cfg3.value).attr('id', 'amino');
НО, при клике на кнопку (отфильтровать) у меня не происходит добавление ID!
Если смотреть консоль, то там всё верно передаётся.

Если строчку $('#base option.'+cfg1.value+'.'+cfg2.value+'.'+cfg3.value).attr('id', 'amino'); через консоль добавлять то - id добавляется.

Что у меня не так?
я не идиот, просто у меня винтиков в голове не хватает! (c) kir_pich
LEOnidUKG
На сайте с 25.11.2006
Offline
1730
#1

Лучше словами объясните, что вы вообще хотите сделать.

Какие ID? Куда добавляются? Что должно происходить?

var cfg1 = document.getElementById('cfg1').value;

Вы определитесь или у вас ванильная JS или у вас jquery

$('#base option.'+cfg1.value+'.'+cfg2.value+'.'+cfg3.value).attr('id', 'amino');

Есть ощущение, что это дичь какая-то.
✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
kir_pich
На сайте с 09.07.2006
Offline
124
#2
LEOnidUKG #:

Лучше словами объясните, что вы вообще хотите сделать.

Какие ID? Куда добавляются? Что должно происходить?

Вы определитесь или у вас ванильная JS или у вас jquery

Есть ощущение, что это дичь какая-то.

js сама по себе дичь. 

1. посетитель выбирает какие-то параметры в предложенных вариантах, далее клик по select.

2. выбранные параметры добавляются в скрытые инпуты из которых потом формирую параметр (cfg1.value+'.'+cfg2.value+'.'+cfg3.value) для фильтрации в селекте.

3. в селекте у option у которых совпадают установленные параметры необходимо добавлять класс/id (display:inline).

PS - у каждого option свои предустановленные параметры.


полный код

$(function(event){

$('.form_cfg .type_ff span').on("click",function(event1){

$('.type_ff span').attr('id', '');

$('.type_ff span.'+event1.target.className).attr('id', 'set');

$('#cfg1').val(event1.target.className);

});

$('.form_cfg .type_proc span').on("click",function(event2){

$('.type_proc span').attr('id', '');

$('.form_cfg span.'+event2.target.className).attr('id', 'set');

$('#cfg2').val(event2.target.className);

});

$('.form_cfg .vendors span').on("click",function(event3){

$('.vendors span').attr('id', '');

$('span.'+event3.target.className).attr('id', 'set');

$('#cfg3').val(event3.target.className);

});

$('.form_cfg #filtr_serv').on('click', function (){

var cfg1 = document.getElementById('cfg1').value;

var cfg2 = document.getElementById('cfg2').value;

var cfg3 = document.getElementById('cfg3').value;

$('#base option').removeClass('amino');

$('#base option.'+cfg1.value+'.'+cfg2.value+'.'+cfg3.value).attr('id', 'amino');

console.log(cfg1+'.'+cfg2+'.'+cfg3);

});

});

PS-ссылка на страницу с фул кодом выше.

W1
На сайте с 22.01.2021
Offline
291
#3
kir_pich :
Что у меня не так?

Хотя бы это:

var cfg1 = document.getElementById('cfg1').value;
cfg1.value

У Вас  cfg1 - уже  value. А Вы пишете cfg1.value. Дальше уже не смотрел.

kir_pich #:
js сама по себе дичь.

Дичь пишут дичеписатели, не понимающие смысла написанного.

Мой форум - https://webinfo.guru –Там я всегда на связи
kir_pich
На сайте с 09.07.2006
Offline
124
#4
webinfo #:

Хотя бы это:

var cfg1 = document.getElementById('cfg1').value;
cfg1.value

У Вас  cfg1 - уже  value. А Вы пишете cfg1.value. Дальше уже не смотрел.

Дичь пишут дичеписатели, не понимающие смысла написанного.

Увы, с ванилькой я всегда не дружил.

А за наводку насчёт value спасибо.
Заработало.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий