gpt4 book ai didi

Javascript - 函数未定义(onChange 不起作用)

转载 作者:行者123 更新时间:2023-11-28 15:34:06 25 4
gpt4 key购买 nike

我通过在 HTML 文件中的标签中使用 onChange() 命令来调用 javascript 文件中名为 getPrice() 的函数,但无论我做什么或修复,它仍然不显示价格。我做了很多研究,但似乎找不到任何正确的解决方案。非常感谢您的帮助。

这是我的 HTML 代码:

    <body>
<form action="#" name="ITSbookform" id="ITSform">
<fieldset>
<legend>Into The Storm Booking</legend>
<label>Choose your cinema</label><br>
<select id="selectedCinema">
<option>--Select--</option>
<option value="maximaCinema">Maxima Cinema</option>
<option value="rivolaCinema">Rivola Cinema</option>
</select><br>
<label>Select day and time</label>

<select id="dayAndTime">

</select>
<br>
<label>Select Seat</label>
<select id="selectedSeat" onchange="getPrice()">

</select>
<p id="total">Total Price: </p>


</form>
</fieldset>

</body>

和 Javascipt 部分:

    function getPrice(){
var totalPrice = 0;
if(document.getElementById("selectedCinema").value == "maximaCinema"){
if(document.getElementById("dayAndTime").value == "9pmMonday" || document.getElementById("dayAndTime").value == "9pmTuesday"){
seatPrice["full"] = 12;
seatPrice["conc"] = 10;
seatPrice["child"] = 8;
seatPrice["FirstClass-Adult"] = 25;
seatPrice["FirstClass-Child"] = 20;
seatPrice["beanbag"] = 20;
}
else{
seatPrice["full"] = 18;
seatPrice["conc"] = 15;
seatPrice["child"] = 12;
seatPrice["FirstClass-Adult"] = 30;
seatPrice["FirstClass-Child"] = 25;
seatPrice["beanbag"] = 30;
}
}
else{
seatPrice["adult"] = 18;
seatPrice["conc"] = 15;
seatPrice["child"] = 12;
}

var seat = theForm.elements["selectedSeat"];
totalPrice = seatPrice[seat.value];
document.getElementById("total").innerHTML = "$" + totalPrice;
}

这是 JSFiddle 中代码的完整版本:http://jsfiddle.net/stb0v5Ln/

谢谢。

最佳答案

  1. 始终如一地使用 jQuery,您的错误是使用 theForm,而不是再次访问表单或通过 ID 访问表单字段
  2. 将 fiddle 更改为 head 而不是 onload

FIDDLE

var seat = $("#selectedSeat");
totalPrice = seatPrice[seat.val()];
$("#total").html("$" + totalPrice);

同时从标签中删除 onchange 并添加

$("#selectedSeat").change(getPrice);

准备就绪

ps:创建 fiddle 时删除所有 head 和 body 标签

关于Javascript - 函数未定义(onChange 不起作用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26210481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com