@FrolovSite

Как адаптировать js код для множества идентичных элементов?

При нажатии на селекты 'variable_backorders0' и 'variable_stock_status0', скрывается или показывается элемент 'pre-orders-date-var0'. Каждая вариация у вариативного товара имеет уникальные селекты и элемент. Прим. 'variable_backorders0' > 'variable_backorders1' > 'variable_backorders2' и т. д.

Пример в редакторе - https://codepen.io/YuriyFrolov/pen/VwEZZjX

Каким образом можно адаптировать условия для каждой вариации?
Буду рад даже подсказке о необходимой литературе для решения данной проблемы.

// В данный момент работает только для первой вариации
jQuery(document).ready(function ($) {
  var backorders = document.querySelectorAll("select#variable_backorders0");
  var stock_status = document.querySelectorAll("select#variable_stock_status0");
  $(stock_status).on('change', function() {
    var item = $(this).val();
    if ( item == "outofstock" || item == "instock") {
      document.querySelector(".pre-orders-date-var0").style.display = "none";
    } 
    else {
      document.querySelector(".pre-orders-date-var0").style.display = "block";
    }
  }).trigger('change');
  $(backorders).on('change', function() {
    var item = $(this).val();
    if ( item == "notify" || item == "yes") {
      document.querySelector(".pre-orders-date-var0").style.display = "block";
    } 
    else {
      document.querySelector(".pre-orders-date-var0").style.display = "none";
    }
  }).trigger('change');
});
  • Вопрос задан
  • 132 просмотра
Решения вопроса 1
Stalker_RED
@Stalker_RED
Для начала уберите дублирующися id.
If the id value is not the empty string, it must be unique in a document.

https://developer.mozilla.org/en-US/docs/Web/API/E...

Покажите разметку, и опишите словами что вы вообще пытаетесь делать. В идеале соберите минималистичный пример на jsfiddle или codepen.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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