Как скрыть варианты продукта на основе зависимостей с помощью jQuery?Jquery

Программирование на jquery
Ответить
Anonymous
 Как скрыть варианты продукта на основе зависимостей с помощью jQuery?

Сообщение Anonymous »

Я использую WooCommerce с темой Hello Elementor на локальном хосте, и у меня есть несколько настраиваемых полей для вариантов продукта. Я хочу скрыть вариант, когда не выполняются определенные условия зависимости. Я использую следующий код jQuery для проверки зависимостей и переключения видимости:

Код: Выделить всё

$('#product-variants .variant-card').each(function () {
const $variant = $(this);
const dependencies = ($variant.data('dependencies') || '').split(',').filter(Boolean);
const allDependenciesMet = dependencies.every(dependencyIndex => {
const dependentVariant = $('[data-variant-index="' + dependencyIndex + '"]');
const quantity = parseInt(dependentVariant.find('input[type="range"]').val(), 10) || 0;
return quantity > 0; // Check if quantity is more than 0
});

if (!allDependenciesMet) {
$variant.hide(); // Hide variant if dependencies are not met
} else {
$variant.show(); // Show variant if all dependencies are met
}
});
Проблема в том, что варианты сначала корректно скрываются при загрузке страницы, но затем свойство display быстро меняется обратно на блокировку почти сразу (менее секунды), в результате чего варианты появляются снова. .
Я не использую никаких других плагинов, которые могут помешать этой логике, на моем локальном хосте установлен только woocommerce.
  • Почему свойство display снова становится заблокированным?
  • и как я могу гарантировать, что варианты останутся скрытыми, если их зависимости не соблюдаются?
Будем очень признательны за любые идеи и решения!

Подробнее здесь: https://stackoverflow.com/questions/788 ... ing-jquery
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»