Javascript calc基于数字选择 - HTML

时间:2013-04-16 13:26:33

标签: javascript html

我想为不同的菜单选项显示不同的选项。 如果MenuNo1(textinput)= 1,2,3,4或5 - 则menuPrice1的值应为R70.00 如果MenuNo1(textinput)= 8,9,12 - 则menuPrice1的值应为R85.00 如果MenuNo1(textinput)= 11 - 则menuPrice1的值应为R105.00

我试过这样做:

function calcMenu(form) {
var MenuPrice1 = (+form.MenuPrice1.value);
var MenuNo1 = (+form.MenuNo1.value);

if ([1,2,3,4,5].indexOf(+form.MenuNo1.value) != -1) {
    MenuPrice1.value = "70";
} 
else if ([8,9,12].indexOf(+form.MenuNo1.value) != -1) {
    MenuPrice1.value = "85";
}
else if (+form.MenuNo1.value == 11)  {
    MenuPrice1.value = "105";    }  }

但我确定我的代码上有不正确的内容

2 个答案:

答案 0 :(得分:2)

您需要使用|| OR运算符

if (+form.MenuNo1.value === '8' || 
    +form.MenuNo1.value === '9' || 
    +form.MenuNo1.value === '12' )

此外,您需要使用==或===来检查它是否等于

答案 1 :(得分:2)

function calcMenu(form) {
    if ([1,2,3,4,5].indexOf(+form.MenuNo1.value) != -1) {
        MenuPrice1.value = "70";
    } 
    else if ([8,9,12].indexOf(+form.MenuNo1.value) != -1) {
        MenuPrice1.value = "85";
    }
    else if (+form.MenuNo1.value == 11)  {
        MenuPrice1.value = "105";
   } 
}

您可以在此处查看indexOf方法的示例:http://jsfiddle.net/fHzEG/