0

我想为不同的菜单选择显示不同的选项。如果 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";    }  }

但我确定我的代码有问题

4

2 回答 2

2

您需要使用||OR 运算符

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

您还需要使用 == 或 === 来检查它是否等于

于 2013-04-16T13:29:13.397 回答
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/

于 2013-04-16T13:31:22.850 回答