0

javascriptを使用して加算合計を実行し、商品と送料を合計した場合のユーザーの合計コストを計算しようとしていますが、返されるのはNaNだけです。なぜですか。これが私のコードのフィドルです

フィドルから移植されたコード:

 $("#country").change(function() {
    var shipping_cost = parseFloat($("#shipping").text().replace(pattern, ''));
    var total      = parseFloat($("#goods").text().replace(pattern, ''));
    var pattern = /[^0-9.-]+/g;
    var result = total + shipping_cost;
    console.log(result);

       if($(this).val() == "17") {
           $("#shipping").text("£0.00");
           $("#full_price").text("£"+result);
       } else {
           $("#shipping").text("£5.00");
           $("#full_price").text("£"+result);
       }
 });​

マークアップ:

<select id="country">
    <option value=17>Option 1</option>
    <option value=18>Option 2</option>
    <option value=19>Option 3</option>
</select>

<p id=goods>£5.00</p>

<p id=shipping>£0.00<p>
4

2 に答える 2

7

次のように、パターン宣言は解析の前に来る必要があります。

var pattern = /[^0-9.-]+/g;
var shipping_cost = parseFloat($("#shipping").text().replace(pattern, ''));
var total      = parseFloat($("#goods").text().replace(pattern, ''));
于 2012-08-15T16:03:05.853 に答える
4

上に移動var pattern = /[^0-9.-]+/g;すると、すべてが正常に機能するはずです。

var pattern = /[^0-9.-]+/g;
var shipping_cost = parseFloat($("#shipping").text().replace(pattern, ''));
var total      = parseFloat($("#goods").text().replace(pattern, ''));
于 2012-08-15T16:03:05.153 に答える