jquery - проблемы с функцией на Dropdown Select - PullRequest
0 голосов
/ 12 июня 2018

У меня проблема с плагином Wordpress, который создает множество динамических блоков выбора «выпадающих списков» на одной странице моего сайта.Это сайт электронной коммерции.Плагин «Составные продукты».

К сожалению, этот плагин присваивает каждому выпадающему списку одинаковый идентификатор и класс.Ой.

Я с удовольствием использую модифицированную версию кода, отсюда - Функция jquery в раскрывающемся списке выберите

Я использую это использовать 'var' (которыйуникальный) выбранного элемента, этот выбор используется для переопределения CSS в другом месте на странице.

Моя проблема - в отдельном раскрывающемся меню (class = .component_options_select) I 'Я пытаюсь выбрать дальнейший выбор текста или HTML.Оба терпят неудачу.Я не могу использовать var, так как содержимое этого раскрывающегося списка обширное и динамичное.Есть ли лучшая функция поиска для jquery?

jQuery(document).ready(function($){
    $('select[class="component_options_select"]').change(function(){

        if ($(this).val() == "6785")
            $(".element-to-change").css({"width":"530px"})
            .add(".blaeu-prints-builder-inner").css({"background-image":"url('/storefront-blaeu/gfx/12x16.jpg')"},100);

        if ($(this).val() == "6786")
            $(".element-to-change").css({"width":"550px"})
            .add(".blaeu-prints-builder-inner").css({"background-image":"url('/storefront-blaeu/gfx/18x24.jpg')"},100);

        if ($(this).val() == "6787")
            $(".element-to-change").css({"width":"600px"})
            .add(".blaeu-prints-builder-inner").css({"background-image":"url('/storefront-blaeu/gfx/27x39.jpg')"},100);

    });
});

Так что многое работает, но вот следующая строка кода, которая не имеет никакого эффекта.

        if ($(this).text() == "This Selection")
      $(".another-element-i-want-to-edit").css('display','block');

Я пытался использовать.HTML и .text, также опция-содержит текст ... Не работают.Я не очень талантлив с JQuery!

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 12 июня 2018

Если

if ($(this).text() == "This Selection"){
    $(".another-element-i-want-to-edit").css('display','block');
}

находится в той же функции change выбора, она не будет работать, так как вам нужно проверить значение, а не текст.Изменение значения

if ($(this).text() == "This Selection")

на

if ($(this).val() == "This Selection")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...