2

この機能を統合する方法はありますか? 私は約 50 の同様の関数を持っていますが、これはこれらの値を取得および設定するための非常に面倒な方法のようです。

すべての関数の形式は同じです。「取得」する値のいずれかが変更されたときにトリガーされ、主要な要素(この場合はFabric_Type)の値と他のいくつかの要素の値に基づいて、ターゲット要素(つまりFabric_Thickness)の値を設定します。関数のほとんどは、同じ 5 ~ 10 個の要素(つまりItem、 またはLining)の値を取得し、それらの要素 (つまり、ブレザー、ジャケット、アウターウェア) で同じ値を探します。そして、私はすでに各要素のすべての値(つまり$Fabric_Type = array("Cashmere","Silk","Satin");、、 $Item = array("Blazers","Dresses","Jackets","Outerwear");など)で設定された配列を持っています :-)

私が(疑似コードで)しようとしていることは次のとおりです。

If ('Item' != Blazer, Jacket OR Outerwear AND 'Lining'!=0) OR If ('Item'=Blazer, Jacket OR Outerwear AND 'Lining'=0){'Fabric_Thickness'=2}
If ('Item' = Blazer, Jacket OR Outerwear AND 'Lining'=!0) {'Fabric_Thickness'=3}

jQuery:

$("[name=Item],[name=Fabric_Type],[name=Lining],[name=Fabric_Construction]").change(function(){  
    if( $("[name=Fabric_Type]").val() === "Satin" || $("[name=Item]").val() === "Silk"){  
            if( $("[name=Item]").val() != "Blazer" && $("[name=Item]").val() != "Jacket" && $("[name=Item]").val() != "Outerwear" && "[name=Lining]").val() != "0") || 
            ( $("[name=Item]").val() === "Blazer" || $("[name=Item]").val() === "Jacket" || $("[name=Item]").val() === "Outerwear" && "[name=Lining]").val() === "0"){
                    $('[name=Fabric_Thickness]').val('2');  
            } if( $("[name=Item]").val() === "Blazer" || $("[name=Item]").val() === "Jacket" || $("[name=Item]").val() === "Outerwear" && "[name=Lining]").val() != "0" {
                    $('[name=Fabric_Thickness]').val('3');  
            } else {
                    $('[name=Fabric_Thickness]').val('1');  
            }
    }    
});    
4

1 に答える 1