parent()不处理实时元素

时间:2012-10-03 20:39:05

标签: javascript jquery

我不明白为什么但是.parent()没有处理动态创建的元素。

以下fiddle显示了我的问题。它计算静态元素的折扣价格,而不是创建的折扣价格。

$('.item-sizes .discount-percent').live('keydown', function () {
        var percentValue = $(this).val();
        var basePrice = $('.base-price', $(this).parent().parent()).val(); // Undefine on live elements, defined on static

        if (basePrice) {
            discountValue = basePrice - ((percentValue / 100) * basePrice);
            $('.discount-price', $(this).parent().parent()).val(discountValue);
        }
});

2 个答案:

答案 0 :(得分:4)

添加的HTML在任何地方都没有base-price课程。

答案 1 :(得分:0)

错误的元素上有base-price类:

<input type="text" name="text[]" placeholder="foo" class="span3 base-price"/>

解释了NaN回复

这里修好了:

http://jsfiddle.net/znvHa/5/