1

我正在使用 Gravity Forms 产品字段来创建订单表单类型系统。

我正在尝试计算每个产品的小计(成本 * 数量)并通过 jQuery 在数量旁边显示它。

这是我的 jQuery:

<script type="text/javascript">
    $(document).ready(function() {
        $('.gfield_price .ginput_container').append('<div class="product_subtotal">SUBTOTAL</div>');
        $('.ginput_quantity').keypress( function( ) {
            $x = $('.ginput_quantity');
            $x.next('div.product_subtotal').html( this.value );
        });
    });
</script>

这是我的html的片段:

<li id='field_5_12' class='gfield gfield_price gfield_price_5_12 gfield_product_5_12' >
    <label class='gfield_label' for='input_5_12'>500 GPH Bilge Pump 24V</label>
    <div class='ginput_container'>
        <input type='hidden' name='input_12.1' value='500 GPH Bilge Pump 24V' class='gform_hidden' />
        <span class='ginput_product_price_label'>Price:</span>
        <span class='ginput_product_price' id='input_5_12'>$2.99</span>
        <input type='hidden' name='input_12.2' id='ginput_base_price_5_12' class='gform_hidden' value='$2.99'/>
        <span class='ginput_quantity_label'>Quantity:</span>
        <input type='text' name='input_12.3' value='' id='ginput_quantity_5_12' class='ginput_quantity' size='10' tabindex='6'/>
    </div>
</li>

正如您所看到的,目前我只是尝试使用输入到数量字段中的值来更新 product_subtotal div。稍后我会担心实际的计算。我的问题是我不确定如何只选择下一个 div.product_subtotal,因为 $x.next() 会选择每个 product_subtotal。

4

1 回答 1

1

您的next()方法选择所有带有 class of 的 div 标签,.product_subtotal因为您.ginput_quantit在调用next()选择所有带有 class of 的 div 标签的方法之前选择了页面上的所有输入.product_subtotal,试试这个:

$('.ginput_quantity').keypress( function( ) {
    $x = $(this); // just this input element
    $x.next('div.product_subtotal').html( this.value ); 
});
于 2012-08-13T21:38:00.520 回答