0

我正在使用 Adob​​e Acrobat 10 为照片打印业务创建一个订购表。概念是用户将分别输入每张照片的数据 - 文件名、纸张大小和纸张类型到表格中的单元格中,第四列将计算价格。

纸张尺寸和纸张类型是下拉菜单,纸张尺寸有 4 个选项,纸张类型有 3 个选项,所以 12 种组合都有不同的价格。

我希望每行第四列中的一个单元格根据用户选择的选项计算价格,但无法使用加法/乘法等来计算价格。

我有一个概念,我需要像在 Excel 中一样编写具有多个条件的 IF 语句,但不熟悉 JavaScript,因此需要一些帮助!

先感谢您!

4

2 回答 2

0

我自己不熟悉 excel 格式,但在 javascript 中你可能有这样的东西:

if(paperType==1 && paperSize==1) {
    price = 13;
} else if(paperType==1 && paperSize==2) {
    price = 16;
} else if(paperType==2 && paperSize==1){
    price = 12;
} else {
    price = 27;
}

当然,有很多方法可以解决这个问题,从嵌套 if 语句到将所有内容存储在 map/hash/object 中,再到使用 switch 语句。比较自然不需要针对数字,也可以使用字符串。

于 2013-02-12T23:06:34.413 回答
0

使其成为一个对象并将其用作查找表以防止过多的 if-else-statements

var priceByPapersizeAndPapertype = {
    "A4": {
        "thick": 8.00,
        "medium": 13.50,
        "thin": …
    },
    "A5": {
         …
    },
    …
};

var size, type = …; // from form input
var price = priceByPapersizeAndPapertype[size][type];

如果用户可以输入无效输入,您可以检查密钥是否存在,if (size in priceByPapersizeAndPapertype)并在需要时输入错误消息。

于 2013-02-12T23:15:13.347 回答