目前,我正在一个预订网站上工作,我已经实现了选择框和单选按钮,以使用户能够选择他们的党大小,如果他们想要贵宾座位。我也实施了基于这两种选择的价格因素。
一旦用户按下submit按钮,我就启用了php来执行计算,但是我更希望这些计算也能在屏幕上自动执行,只要用户做出选择,就使用javascript。
以下是政党规模选择的html代码:
<select name="party" value="<?php echo $party;?>">
<option value="">Please Select</option>
<option <?php if (isset($party) && $party=="5") echo "selected";?> value="5">1 Person (£5)</option>
<option <?php if (isset($party) && $party=="10") echo "selected";?> value="10">2 People (£10)</option>
<option <?php if (isset($party) && $party=="15") echo "selected";?> value="15">3 People (£15)</option>
<option <?php if (isset($party) && $party=="20") echo "selected";?> value="20">4 People (£20)</option>
<option <?php if (isset($party) && $party=="25") echo "selected";?> value="25">5 People (£25)</option>
<option <?php if (isset($party) && $party=="30") echo "selected";?> value="30">6 People (£30)</option>
<option <?php if (isset($party) && $party=="35") echo "selected";?> value="35">7 People (£35)</option>
<option <?php if (isset($party) && $party=="40") echo "selected";?> value="40">8 People (£40)</option>
<option <?php if (isset($party) && $party=="45") echo "selected";?> value="45">9 People (£45)</option>
<option <?php if (isset($party) && $party=="50") echo "selected";?> value="50">10+ People (£50)</option>
</select>
<span id="party" class="error"><?php echo $partyErr;?></span>以下是VIP选择的html代码:
<strong> VIP area* : </strong> <br><br>
Yes (+£5) <input type="radio" name="vip" <?php if (isset($vip) && $vip=="Yes") echo "checked";?> value="Yes">
<br><span id="vip" class="error"><?php echo $vipErr;?></span><br>
No <input type="radio" name="vip" <?php if (isset($vip) && $vip=="No") echo "checked";?> value="No">下面是我想要显示的总价:
<strong>Total booking cost based on party size & VIP selection: £<span id="price">0</span></strong>以下是我到目前为止拥有的javascript:
$(document).ready(function(){
$(document).on('change', '#party', function(e) {
$('#price').html(parseInt($(this).val()) + parseInt($('input[name="vip"]').val()));
});
$(document).on('click', 'input[name="vip"]', function(e) {
$('#price').html(parseInt($('#party').val()) + parseInt($(this).val()));
});
});目前,每个价格的总和还没有计算出来。当用户单击派对大小时,总成本显示为空白,如果用户选择坐在VIP区域,也不会进行任何更改。在我的编码中可能有一个简单的错误,所以如果有人知道我如何修复它以使它正常工作,请帮助。
谢谢。
发布于 2014-11-18 17:23:48
您选择的是span元素,而不是select。要纠正这一点,您可以将"on“语句更改如下:
$("select[name=party]").on("change", function() {
//your handler code
});发布于 2014-11-18 17:16:54
您使用的选择器是错误的,因为"party“是select的名称,而不是ID。
$(document).on('change', '#party', function(e) {将select元素更改为
<select id="party" value="<?php echo $party;?>">然后把你下面跨度的id改为其他的东西。
同样的事情也适用于你的VIP输入。
https://stackoverflow.com/questions/26999796
复制相似问题