SpiderPigAndCat
@SpiderPigAndCat
занимаюсь салообразованием

Как правильно написать такой простой скрипт?

Всем привет. Есть несколько элементов .form-row и для каждого мне приходится писать такой скрипт
$(".form-row:eq(13) .select-change-item option.Lacquered").show();
            $(".form-row:eq(13)   .select-change-item option:not(.Lacquered)").hide();
            $(".form-row:eq(13)  .select-change").change(function() {
                if ($(".form-row:eq(13) .select-change").val() == "Lacquered") {
                    $(".form-row:eq(13) .select-change-item option.Lacquered").show();
                    $(".form-row:eq(13) .select-change-item option:not(.Lacquered)").hide();
                } else if ($(".form-row:eq(13) .select-change").val() == "Acrylic") {
                    $(".form-row:eq(13) .select-change-item option.Acrylic").show();
                    $(".form-row:eq(13) .select-change-item option:not(.Acrylic)").hide();
                } else if ($(".form-row:eq(13) .select-change").val() == "Veneer") {
                    $(".form-row:eq(13) .select-change-item option.Veneer").show();
                    $(".form-row:eq(13) .select-change-item option:not(.Veneer)").hide();
                } else if ($(".form-row:eq(13) .select-change").val() == "Laminate") {
                    $(".form-row:eq(13) .select-change-item option.Laminate").show();
                    $(".form-row:eq(13) .select-change-item option:not(.Laminate)").hide();
                } else if ($(".form-row:eq(13) .select-change").val() == "Thermofused") {
                    $(".form-row:eq(13) .select-change-item option.Thermofused").show();
                    $(".form-row:eq(13) .select-change-item option:not(.Thermofused)").hide();
                }
            });


Как упростить? Пробовал each но не помогло
  • Вопрос задан
  • 220 просмотров
Решения вопроса 1
lastuniverse
@lastuniverse
Всегда вокруг да около IT тем
const list = ["Lacquered", "Acrylic", "Veneer", "Laminate", "Thermofused"];
const row = 13;
const rowStr = ".from-row:eq(" + row + ")";
$(rowStr + " .select-change-item option.Lacquered").show();
    $(rowStr + " .select-change-item option:not(.Lacquered)").hide();
    $(rowStr + " .select-change").change(function() {
        list.forEach(item=>{
            if ($(rowStr + " .select-change").val() == item) {
                $(rowStr + " .select-change-item option."+item).show();
                $(rowStr + " .select-change-item option:not(."+item+")").hide();
            }
        });
    });
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
24 апр. 2024, в 16:19
4000 руб./за проект
24 апр. 2024, в 15:34
20000 руб./за проект
24 апр. 2024, в 15:32
130000 руб./за проект