2013-02-12 60 views
0

我使用Adobe Acrobat 10为照片打印业务创建订购表单。概念是,用户将分别为每张照片输入数据 - 文件名,纸张大小和纸张类型进入表格和第四列中的单元格将计算价格。JavaScript Acrobat 10 IF Statement with 2 conditions

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

我想在每一行来计算基于用户选择的选项的价格的第四列的单元格,但不能达到这个使用加法/乘法等

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

预先感谢您!

+1

'&&'表示“和”,“||”表示“或” – Pointy 2013-02-12 22:33:31

回答

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; 
} 

当然也有处理这个问题,如果从嵌套的许多方式语句将所有内容存储在map/hash/object中以使用switch语句。比较自然不需要反对数字,你也可以使用字符串。

+0

用这个解决了它,效果很好。非常感谢David McMullin! – 2013-02-13 14:30:13

0

使它成为一个对象,并把它作为一个查找表来prevent too many 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)关键的存及其提出如果出现错误信息需要。