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 回答