将javascript函数转换为jquery

时间:2015-03-03 19:31:23

标签: javascript jquery function

我一直在努力转换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很好,但我不确定我在这里做错了什么......

http://jsfiddle.net/kv7L0c5d/5/

1 个答案:

答案 0 :(得分:4)

  • 您正在使用$ticketPriceticketPrice的不一致混合。这些不是一回事。
  • 您尚未声明$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));
}

http://jsfiddle.net/kv7L0c5d/10/