需要简单的Javascript加法乘法的价值

时间:2013-06-19 04:55:27

标签: javascript html forms function

我不确定我做错了什么,但我只是想在你做出选择后得到总价。我想取选择值并将其乘以100,然后使用updatetotal函数显示总数。

// Collect Data & Prices To Update Dynamic Prices
 var pricechecking=document.getElementById('howmanyaccts')value.trim();
 var pricepaypal=document.getElementById('howmanyacctspaypal')value.trim();

 var pricecheck = pricechecking * 100;
 var pricepay = pricepaypal * 100;

 function updateTotal() {

 var ThePrice = pricecheck + pricepay;

 $('#TotalPrice').text('$' + ThePrice + '.00');
 }

 $(function () { $('.DoPricing').click(updateTotal); });

我的HTML是:

<form action="http://linktomyactionpage" method="post" >
 <p>How many accounts to pay by check?</p>
 <select name="howmanyaccts" id="howmanyaccts" class="DoPricing">
   <option value="1">1</option>
   <option value="2">2</option>
   <option value="3">3</option>
   <option value="4">4</option>
   <option value="5">5</option>
 </select>

 <p>How many accounts to pay by paypal?</p>
 <select name="howmanyacctspaypal" id="howmanyacctspaypal" class="DoPricing">
   <option value="1">1</option>
   <option value="2">2</option>
   <option value="3">3</option>
   <option value="4">4</option>
   <option value="5">5</option>
 </select>

 <p>Total: <span id="TotalPrice">$0.00</span></p>

 <input type="submit" name="submit" value="submit">
 </form>

如果我简化了代码怎么办?将00.00带到文本而没有乘法?

 // Collect Data & Prices To Update Dynamic Prices
 var pricechecking=document.getElementById('howmanyaccts').value.trim();
 var pricepaypal=document.getElementById('howmanyacctspaypal').value.trim();

 function updateTotal() {

     var ThePrice = pricechecking + pricepaypal;

     $('#TotalPrice').text('$' + ThePrice + '00.00');
 }

 $(function () { $('.DoPricing').click(updateTotal); });

这就是我的工作:

 // Collect Data & Prices To Update Dynamic Prices
 var pricechecking=document.getElementById('howmanyaccts').value.trim();
 var pricepaypal=document.getElementById('howmanyacctspaypal').value.trim();

 function updateTotal() {
 var pricecheck = parseInt($('#howmanyaccts').val(), 10);
 var pricepay = parseInt($('#howmanyacctspaypal').val(), 10);

     var ThePrice = pricecheck + pricepay;

     $('#TotalPrice').text('$' + ThePrice + '00.00');
 }

 $(function () { $('.DoPricing').click(updateTotal); });

2 个答案:

答案 0 :(得分:1)

我想你想做这样的事情:http://jsfiddle.net/F3HbJ/

$(function () {
    $('.DoPricing').change(function () {
        var total = 0;
        $('.DoPricing').each(function () {
            total += parseInt($(this).val()) * 100;
        });
        $('#TotalPrice').html('$' + total);
    });
});

选择的事件处理程序为.change()。然后循环遍历每个选择的parseInt值乘以100。

答案 1 :(得分:0)

  

这是有效的DEMO

     

像这样使用:

$(document).ready(function () {
        var pricechecking = $($("#howmanyaccts")[0].selectedOptions).attr("value");
        var pricepaypal = $($("#howmanyacctspaypal")[0].selectedOptions).attr("value");

        function updateTotal() {
            var pricecheck = parseInt($('#howmanyaccts').val(), 10);
            var pricepay = parseInt($('#howmanyacctspaypal').val(), 10);

            var ThePrice = pricecheck + pricepay;

            $('#TotalPrice').text('$' + ThePrice + '00.00');
        }

        $('.DoPricing').change(updateTotal);
    });