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();
            }
        });
    });
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
22 нояб. 2024, в 23:55
3000 руб./за проект
22 нояб. 2024, в 22:26
3500 руб./за проект
22 нояб. 2024, в 21:47
3000 руб./за проект