0

当“产品输入”的值发生变化时,我希望“产品总计”更新。我有活动,但我似乎无法提及“产品总数”。

这是HTML:

<div class='product'>
    <h2>Photo Prints up to 5” x 7”&lt;/h2>
    <div class='product-total'></div>
        <div class='choices'>
        <input type='text' class='raw standard product-input'  />
    </div> <!-- END Choices -->

    Standard: <input type='radio' class='quality standard' value='standard' />
    Full: <input type='radio' class='quality full' value='full' />

</div> <!-- END Product -->

和 jQuery:

jQuery('input.product-input').change(function() {
        jQuery('div.product-total', jQuery(this).parent('div.product')).html(total);

    });
4

3 回答 3

5

代替:

jQuery(this).parent('div.product')

和:

jQuery(this).closest('div.product')
  • parent只升一级。
  • closest向上直到找到第一个匹配项。

完整代码:

jQuery(this).closest('div.product').find('div.product-total').html(total);

find比上下文选择器更好,因为实际上find是上下文选择器使用的,所以你可以在第一时间使用它并保存那次旅行。

于 2012-06-04T23:41:27.060 回答
0

我将其发布为答案,以便更清楚。尝试这个:

  jQuery('input.product-input').change(function() {
     jQuery('div.product-total').html(total);
  })
于 2012-06-04T23:45:07.197 回答
0

在你的 jquery 中尝试改变这个

jQuery('div.product-total', jQuery(this).parent('div.product')).html(total);

为此(我使用了 $ 语法,但它的使用与功能无关)

 $(this).closest('div.product').find('product-total').html(total);

...并确保填充总数。

于 2012-06-04T23:50:56.397 回答