使用jQuery按类名获取值

3

我想获取输入文本框的值,乘以数量并在总列上显示。

这是 jsfiddle

Html

Price: <input id="price" type="text"/>
<table id="my-table">
<tr>
   <td>Quantity</td>
   <td>Total</td>
</tr>   
<tr>
    <td class="quantity">15,447.84</td>
    <td class="total"></td>
</tr>
<tr>
    <td class="quantity">89.28</td>
    <td class="total"></td>
</tr>
</table>

脚本

$(document).ready(function () {
    $('#price').on('change', calTotal);
    function calTotal() {
        var p = $('#price').val();
        var q = $('.quantity').text();
        alert(q);
    }
});

var q = $('.quantity').text(); 的输出结果为 15,447.8489.28

如何将每个 quantity 乘以价格并打印到总列中?

1个回答

6
  • 使用parseFloat().text()来设置值。

  • 您还有两列分别用于总价和数量,当分配total文本时,需要检查两个相关列的值。

  • 您需要将15,000转换为15000,可使用replace()实现。

$('.total').text(function(){
    var q = $(this).prev().text();
    q = q.replace(/,/g, '');                
    p = p.replace(/,/g, '');  
    return (parseFloat(p)*parseFloat(q))
});

Fiddle Demo


非常感谢:)我有一个小问题。如何将千位分隔符添加到总数并限制为两个小数位?请查看此链接:http://jsfiddle.net/W7P4S/8/,输入价格10并查看。它显示`91.19999999999999`。我需要将其显示为`91.19`和`154478.4`作为`154,478.4`。 - Bishan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接