JavaScript中的Switch语句
我试图运行一个switch语句,看看是否选择了信用卡选项,并将总成本增加2%,下面的代码就是我创建的JavaScript中的Switch语句,javascript,switch-statement,Javascript,Switch Statement,我试图运行一个switch语句,看看是否选择了信用卡选项,并将总成本增加2%,下面的代码就是我创建的 if (payment.value){ switch (payment.value) { case 'Credit Card' cost = cost + (cost * 0.2); break; case 'Gold Bullion' cost = cos
if (payment.value){
switch (payment.value) {
case 'Credit Card'
cost = cost + (cost * 0.2);
break;
case 'Gold Bullion'
cost = cost + (cost * 0.5);
break;
default: cost;
}
<label for="type">Payment Method</label> <select name="payment" id="payment" required>
<option value="DC">Debit Card</option>
<option value="CC">Credit Card</option>
<option value="Cash">Cash</option>
<option value="GB">Gold Bullion</option>
</select>
你错过了:在案件陈述中
switch (payment.value) {
case 'Credit Card':
cost = cost + (cost * 0.2);
break;
case 'Gold Bullion':
cost = cost + (cost * 0.5);
break;
default: cost;
}
如果在选项上设置值属性,则该属性将是选中该选项时的值,而不是option元素中的文本。在这种情况下,DC,CC,等等
gmast对您的语法错误的解释也是正确的。看起来您缺少信用卡和金条的冒号 转换支付价值{ “信用卡”案例: 成本=成本+成本*0.2; 打破 “金条”案例: 成本=成本+成本*0.5; 打破 违约:成本; }您可以使用以下功能:
var payment = document.getElementById('payment');
if (payment.value) {
switch (payment.value) {
case 'CC':
cost *= 1.02;
break;
case 'GB':
cost *= 1.5;
break;
// Etc. you can use more cases of course.
}
看看案例,它使用选项的valueproperty,而不是您在选项标记之间插入的文本
我使用var payment=document.getElementById'payment'清除了顶部的var;你少了两个冒号。费用在哪里申报?此外,不需要默认值…成本+成本*0.2是20%的增长。对于2%,你想要0.02。看起来你也错过了很多东西!payment.value可以是DC、CC、现金或GB。不是“信用卡”等,即选项的文本不需要错误!
<label>Payment Method
<select name="payment" id="payment" required>
<option value="DC">Debit Card</option>
<option value="CC">Credit Card</option>
<option value="Cash">Cash</option>
<option value="GB">Gold Bullion</option>
</select>
</label>