我一直在努力转换JavaScript函数......
原始代码:
function calcTotal(){
//get value of select(tickets)
var ticketCost = 0;
if(document.moaflevent.moaflmember.value=="Yes") {
var ticketPrice = 35;
}else {
var ticketPrice = 40;
}
ticketCost = (document.moaflevent.tickets.options[document.moaflevent.tickets.selectedIndex].value)*ticketPrice;
document.moaflevent.displaytotal.value= formatCurrency(ticketCost);
document.moaflevent.total.value=ticketCost;
}
我的jquery语法:
function calcTotal() {
//get value of select(tickets)
//var ticketCost = 0;
var ticketCost = 0;
if ($('#moaflmember').val() == "Yes") {
var ticketPrice = 10;
} else {
$ticketPrice = 10;
}
$('#eachTicket').text($ticketPrice);
$ticketCost = $('#tickets').val() * $ticketPrice;
$('#displaytotal').val().toUSD($ticketCost);
$('#total').val().toUSD($ticketCost);
}
它不起作用,选择会员资格或门票数量时总数没有更新......
jsfiddle说我的js很好,但我不确定我在这里做错了什么......
答案 0 :(得分:4)
$ticketPrice
和ticketPrice
的不一致混合。这些不是一回事。$ticketCost
变量。toUSD
不是字符串数据类型的方法,因此您无法调用$('#displaytotal').val().toUSD($ticketCost);
以下作品:
function calcTotal() {
var ticketPrice = 0,
ticketCost;
if ($('#moaflmember').val() == "Yes") {
ticketPrice = 10;
} else {
ticketPrice = 10;
}
$('#eachTicket').text(ticketPrice);
ticketCost = $('#tickets').val() * ticketPrice;
$('#displaytotal').val(toUSD(ticketCost));
$('#total').val(toUSD(ticketCost));
}