我在Javascript中使用if else进行计算。
下面是HTML:
<b>Select Number of Rooms:</b>
<select name="rooms" id="room" required>
<option value="8">Rooms</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select><br><br>
<div id="paxx">
<div id="first">
<b>Room 1 - Adult:</b>
<select name="Adults" id="Adult" required>
<option value="0">Adult</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select><br><br>
</div>
<div id="firsts">
<b>Room 1 - Child:</b>
<select name="child" id="child">
<option value="0">Child</option>
<option value="1">1</option>
<option value="2">2</option>
</select><br><br>
</div>
<div id="Adt1">
<b>Room 2 - Adult:</b>
<select name="Adult1" id="Adult1">
<option value="0">Adult</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select><br><br>
</div>
<div id="chd1">
<b>Room 2 - Child:</b>
<select name="child1" id="child1">
<option value="0">Child</option>
<option value="1">1</option>
<option value="2">2</option>
</select><br><br>
</div>
<div id="Adt2">
<b>Room 3 - Adult:</b>
<select name="Adult2" id="Adult2">
<option value="0">Adult</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select><br><br>
</div>
<div id="chd2">
<b>Room 3 - Child:</b>
<select name="child2" id="child2">
<option value="0">Child</option>
<option value="1">1</option>
<option value="2">2</option>
</select><br><br>
</div>
<div id="Adt3">
<b>Room 4 - Adult:</b>
<select name="Adult3" id="Adult3">
<option value="0">Adult</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select><br><br>
</div>
<div id="chd3">
<b>Room 4 - Child:</b>
<select name="child3" id="child3">
<option value="0">Child</option>
<option value="1">1</option>
<option value="2">2</option>
</select><br><br>
</div>
</div>
Javascript部分如下:
<script>
$("#paxx").change(function(){
<?php $single = $row['single']; ?>
var single = "<?php echo $single; ?>";
<?php $double = $row['doubl']; ?>
var doubl = "<?php echo $double; ?>";
var price = "";
var $sumDisplay = $('#total');
var t1 = parseInt($("#Adult").val());
var t2 = parseInt($("#Adult1").val());
var t3 = parseInt($("#Adult2").val());
var t4 = parseInt($("#Adult3").val());
var t5 = parseInt($("#child").val());
var t6 = parseInt($("#child1").val());
var t7 = parseInt($("#child2").val());
var t8 = parseInt($("#child3").val());
{
if(parseInt($("#Adult").val()) == 1 || parseInt($("#Adult1").val()) == 1 || parseInt($("#Adult3").val()) == 1 || parseInt($("#Adult2").val()) == 1)
{
var total2 = t1 + t2 + t3 + t4;
var price = total2 * single;
}
if(parseInt($("#Adult").val()) == 2 || parseInt($("#Adult1").val()) == 2 || parseInt($("#Adult3").val()) == 2 || parseInt($("#Adult2").val()) == 2)
{
var total12 = t1 + t2 + t3 + t4;
var price = total12 * doubl;
}
if(parseInt($("#Adult").val()) == 3 || parseInt($("#Adult2").val()) == 3 || parseInt($("#Adult3").val()) == 3 || parseInt($("#Adult1").val()) == 3)
{
var total21 = t1 + t2 + t3 + t4;
var price = total21 * doubl;
}
if(parseInt($("#Adult").val()) == 1 && parseInt($("#child").val()) == 1 )
{
var total2 = t1 + t5 ;
var price = total2 * doubl;
}
}
$sumDisplay.text(price);
});
</script>
现在发行是当我在第一个房间选择1个成人和1个孩子时,它给了我正确的价格。当我添加另一个房间并添加1个人时,它给我的价格
3 * doubl;
但是,如果你看看我的if条件,它应该像这样工作
2 * doubl + 1 * single;
它在最后一个if语句中添加了另一个人,并且在第二个房间中添加1个人时不首先查看if语句。
请检查并告知我一个解决方案并指出问题,如果有的话。
答案 0 :(得分:0)
我很乐意帮助,但坦率地说,我无法弄清楚你是如何计算价格的。您只使用其中一个子字段来计算第四种情况的价格,只有当您在第一个房间有一个成人和一个儿童时才会这样。如果您可以解释您尝试使用此代码进行抽象的定价结构,我可能最好能够告诉您哪里出错了。
举一个例子,你的第三个案例说明,如果在任何一个房间里有三个成年人,那么总价格应该等于所有四个房间中所有成年人的总和乘以两个。如果我没有弄错的话,如果你在一个房间里有一个,两个,三个,三个成年人,那么总价格将等于你为12个成年人支付的费用(12 X 2),无论孩子的数量如何。