0

我不确定我做错了什么,但我只是想在您做出选择后显示总价格。我想取选择的值并将其乘以 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); });
4

2 回答 2

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 的每个选择的值。

于 2013-06-19T05:12:42.577 回答
0

这是工作演示

像这样使用:

$(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);
    });
于 2013-06-19T05:28:17.583 回答