【发布时间】:2013-04-04 05:09:18
【问题描述】:
有没有办法巩固这个功能?我有大约 50 个类似的函数,这似乎是获取和设置这些值的一种非常繁琐的方法。
所有函数的格式都是相同的:当它会“获取”的任何值发生变化时触发它,并且基于主元素的值(在本例中为Fabric_Type) 加上一些其他元素的值,它设置目标元素的值(即Fabric_Thickness)。大多数函数获取相同的 5 - 10 个元素的值(即Item 或Lining),并在这些元素(即 Blazers、Jackets、Outerwear)中寻找相同的值。而且我已经为每个元素 设置了所有值的数组(即$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');
}
}
});
【问题讨论】:
-
@undefined - 否 :-) 花了 10 分钟来转换第一个函数后,我意识到必须有更好的方法来解决这个问题 ;-)