- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте форумчане. Нужна небольшая помощь с 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);
});
при клике на 3 разных обьекта - передаётся значение в инпуты, я их граблю и подставляю эти значения в строку $('#base option.'+cfg1.value+'.'+cfg2.value+'.'+cfg3.value).attr('id', 'amino');
Лучше словами объясните, что вы вообще хотите сделать.
Какие ID? Куда добавляются? Что должно происходить?
var cfg1 = document.getElementById('cfg1').value;
Вы определитесь или у вас ванильная JS или у вас jquery
$('#base option.'+cfg1.value+'.'+cfg2.value+'.'+cfg3.value).attr('id', 'amino');
Лучше словами объясните, что вы вообще хотите сделать.
Какие 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-ссылка на страницу с фул кодом выше.
Что у меня не так?
Хотя бы это:
var cfg1 = document.getElementById('cfg1').value;
cfg1.value
У Вас cfg1 - уже value. А Вы пишете cfg1.value. Дальше уже не смотрел.
js сама по себе дичь.
Дичь пишут дичеписатели, не понимающие смысла написанного.
Хотя бы это:
var cfg1 = document.getElementById('cfg1').value;
cfg1.value
У Вас cfg1 - уже value. А Вы пишете cfg1.value. Дальше уже не смотрел.
Дичь пишут дичеписатели, не понимающие смысла написанного.
Увы, с ванилькой я всегда не дружил.
А за наводку насчёт value спасибо.
Заработало.