首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于另一个输入框和乘以货币的输入值的变化

基于另一个输入框和乘以货币的输入值的变化
EN

Stack Overflow用户
提问于 2015-01-08 20:48:15
回答 2查看 109关注 0票数 0

我试图将输入框的值设置为另一个输入框的值乘以一个项目的价格。我把货币包装在一个带类的span标记中。我需要将这个值乘以.productTextInput输入文本框。该值将显示在.subTotal框中。我怎样才能做到这一点?

jQuery:

代码语言:javascript
复制
$(".productTextInput").each(function() {
    $(this).change(function() {
        var priceAmount = $(this).parents().find(".priceAmount").text();

        $(this).parents().find(".subTotal").val(parseInt($(this).val(), 10) * parseInt(priceAmount, 10));
    });
});

html:

代码语言:javascript
复制
<table class="productTable productSmall" cellspacing="0">
    <tbody>
        <tr>
            <td style="width: 27%;">
               <strong>American (wild) plum</strong>
            </td>
            <td class="custom-tag"></td>
            <td class="custom-tag">
                Prunus americana
            </td>
            <td class="custom-tag">
                Bare Root
            </td>
            <td class="custom-tag" style="border-right: 2px solid #000;">
                2' - 3' size
            </td>
            <td style="text-align:right;padding-right: 10px;">
                $<span class="priceAmount">1.75</span>
            </td>
            <td class="quantity">
                <input id="Units_4996263" class="productTextInput" name="AddToCart_Amount" value="1" type="text">
            </td>
            <td>
                <input class="subTotal" name="subTotal" readonly="readonly" type="text">
            </td>
       </tr>
   </tbody>
</table>
EN

回答 2

Stack Overflow用户

发布于 2015-01-08 20:54:58

parseFloat上使用priceAmountparseInt返回一个整数(去掉小数)。parseFloat保留小数。

在当前代码中,priceAmount始终是1,这是由于parseInt。

改为:

代码语言:javascript
复制
$(this).parents().find(".subTotal").val(parseInt($(this).val(), 10) * parseFloat(priceAmount));
票数 2
EN

Stack Overflow用户

发布于 2015-01-08 21:10:31

您不需要在这方面使用.each,因为$('.productTextInput')查找提供的类中的每个元素。

我确实在代码段中省略了parseInt/parseFloat,但是JSFiddle有它。http://jsfiddle.net/6qf7oc55/3/

代码语言:javascript
复制
$('.productTextInput').blur(function() {
    num = this.value;
    price = $(this).closest('tr').find('.priceAmount').text();
    sub = num * price;
    $('.subTotal').val(sub.toFixed(2));
});

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27849231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档