现在我只有1个IF声明:
就像:如果 4天巴黎被选中&选择了1个人,然后显示div:
if (personPValue == "4 Days Paris" && numAantal == "1") {
$("#t-extracost-90").show();
extraCost90 = 90;
} else {
$("#t-extracost-90").hide();
extraCost90 = 0;
}
但是我想在if语句中添加更多选中的选项,现在我只是复制它并编辑和过去一个新规则,这很正常,
我可以用更短的方式吗?因为现在我的页面越来越长了
我只想做这样的事情:
if (personPValue == "4 Days Paris" && "3 Days London" && "3 Days Italy" numAantal == "1")
但那不起作用:(
如果 4天巴黎& 4天伦敦& 3天意大利被选中& 1 人员比显示div: #t-extracost-90
答案 0 :(得分:0)
您在personPValue ==
条件中遗失if
:
if (personPValue == "4 Days Paris" && personPValue == "3 Days London" && personPValue == "3 Days Italy" && numAantal == "1")
我相信,您需要or
而不是and
:
if ((personPValue == "4 Days Paris" || personPValue == "3 Days London" || personPValue == "3 Days Italy") && numAantal == "1")
答案 1 :(得分:0)
我不确定,但我认为你的意思是OR ......在这种情况下,我会使用switch语句或包含所有正确选项的dict。 1.使用开关:
switch (personPValue) {
case "4 Days Paris":
case "4 Days London":
case "3 Days Italy":
if (numAantal == "1"){
$("#t-extracost-90").show();
}
}
2。使用词典:
var allowedOptions = {"4 Days Paris":true,"4 Days London":true,"3 Days Italy":true};
if (personPValue in allowedOptions && numAantal == "1"){
$("#t-extracost-90").show();
}
答案 2 :(得分:0)
尝试这样的事情,可以在fiddle中找到演示。这是完全有效的例子。
JS
var numAantal = "1";
$('#test').click(function(){
var items = [];
$('option:selected').each(function(){
alert(this.value);
items.push(this.value);
});
if (($.inArray('3', items) != -1) && ($.inArray('4', items) != -1) && numAantal === '1'){
alert('show');
}
else {
alert('hide');
}
});
HTML
<select multiple="multiple">
<option value="3">3 Days London</option>
<option value="4">4 Days Paris</option>
<option value="5">other</option>
<option value="6">other2</option>
</select>
<input type='button' value='test' id='test'/>
答案 3 :(得分:0)
您需要将var与您想要的值进行最近比较:
if (value="4 Days..." && value=="3 Days..." && value=="3 Days..." && num="1")
无论如何,正如你所说,这将永远不会起作用,在这个IF语句中,它的每一部分都必须是真的,因此var“value”需要同时有三个不同的值才能工作。 有两种选择: - 你有三个不同的变量value1,value2,value3,在这种情况下,前一个语句将起作用。 - 你只有一个var可以有三个不同的值,其中一个需要与num ==“1”一起变为true,在这种情况下你正在寻找这样的东西:
if ((value=="val1" || value=="val2" || value=="val3") && num="1")