JQuery рассчитать значение в функции ввода

0

Мне нужно jQuery, чтобы подвести итог в #totalpprice append из jQuery. Кажется, он не работает после добавления/добавления в oi id = "addhereform"

    <form method="get" action="here" onsubmit="">
        <input type="text" id="pname" name="pname" value="Product Name"/>
        <input type="number" id="pqty" name="pqty" value="3"/>
        <input type="text" id="pprice" name="pprice" value="2.80"/>
        <input type="text" id="totalpprice" name="totalpprice" value="" readonly/>
        <input type="button" id="padd" name="padd" value="add"/>
    </form>

<ol id="addhereform">
<li></li>
</ol>

var sumpprice = $('#pprice').val();
$('#pqty').change(function(){
    var sumpqty = $(this).val();
    var sumtotal = (sumpprice * sumpqty).toFixed(2);
    $('#totalpprice').val( sumtotal );
})
.change();

$('#padd').click(function(){
    var pname = $('#pname').val();
    var pqty = $('#pqty').val();
    var pprice = $('#pprice').val();
    var totalpprice = (pqty * pprice).toFixed(2);
    $('#addhereform li:last').append('<input type="text" id="pname" name="pname" value="' + pname + '"/><input type="number" id="pqty" name="pqty" value="' + pqty + '"/><input type="text" id="pprice" name="pprice" value="' + pprice + '"/><input type="text" id="totalpprice" name="totalpprice" value="' + totalpprice + '"/></li><li>');
});

живая демонстрация здесь → http://jsfiddle.net/koto/cTWCq/

Теги:
function

1 ответ

0

Поскольку вы добавляете элементы динамически, вам нужно использовать .on() вместо .change() чтобы связать обработчик событий. Вам также необходимо изменить свою логику так, чтобы вы определяли ячейки собора для выполнения ваших расчетов...

$(document).on('change', '#pqty', function(){
    var $this = $(this);
    var sumpprice = $this.siblings('#pprice').val();
    var sumpqty = $this.val();
    var sumtotal = (sumpprice * sumpqty).toFixed(2);
    $this.siblings('#totalpprice').val( sumtotal );
});

JSFiddle: http://jsfiddle.net/cTWCq/2/

Вы также добавляете дубликат ID на страницу. Подумайте об использовании уникальных идентификаторов и использования классов в ваших селекторах.

  • 0
    вау круто спасибо Я думал о добавлении чисел в. Так это брат, который делает работу?
  • 0
    siblings() ищет совпадения в непосредственных дочерних элементах родителя. В вашем случае это будет соответствовать элементам в той же форме или же li.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню