Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сумма и произведение
 
 автор: aetern   (07.10.2018 в 18:34)   письмо автору
 
 

Есть динамическая форма. Нужно чтобы в последней ячейке каждой строчки выводилось произведение значений ячеек количество и цена. Как смог написал код, но что-то не работает. Помогите разобраться в чем проблема.
Спасибо.

код формы
<div class="table-responsive">
<table class="table information_json table-striped table-bordered table-sm ">
 <thead> 
     <tr >
        <th class="text-center" style="vertical-align:middle">#</th>
        <th class="text-center" style="vertical-align:middle"><i class="fa fa-asterisk fa-fw text-danger"></i><br>Название товара</th>
        <th class="text-center" style="vertical-align:middle">Марка (бренд)<br>модель</th>
        <th class="text-center" style="vertical-align:middle">Характеристика<br>(цвет, вид, состав, страна происхождения и т.д.)</th>
        <th class="text-center" style="vertical-align:middle">Размеры</th>
        <th class="text-center" style="vertical-align:middle"><i class="fa fa-asterisk fa-fw text-danger"></i><br>Количество</th>
        <th class="text-center" style="vertical-align:middle"><i class="fa fa-asterisk fa-fw text-danger"></i><br>Цена за 1 единицу товара</th>
        <th>Итого</th>
    </tr>
    </thead>
    <tbody>   
 
    <tr class="information_json_plus">
        <td><span class="btn btn-success plus pull-left">+</span></td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
    </tr>
    </tbody>
</table>
</div>


код скрипта

var id=0;
// формируем новые поля
jQuery('.plus').click(function(){
    
    jQuery('.information_json_plus').before(
    '<tr>' +
        '<td><span class="btn btn-danger minus pull-left">&ndash;</span><input type="hidden" name="ostatki[]"></td>' +
        '<td><input type="text" class="form-control" name="name[]" placeholder="Наименование"></td>' +
        '<td><input type="text" class="form-control" name="brand[]" placeholder="Фирма/модель"></td>' +
        '<td><input type="text" class="form-control" name="info[]" placeholder="Описание"></td>' +
        '<td><input type="text" class="form-control" name="size[]" placeholder="Размеры"></td>' +
        '<td><input type="text" class="form-control" name="count[]" id="count_' + id + '" placeholder="Количество" ></td>' +
        '<td><input type="text" class="form-control" name="price[]" id="price_' + id + '" placeholder="Цена"></td>' +
        '<td><input type="text" class="form-control" readonly="" value="" id="totalcost_' + id + '"></td>' +
    '</tr>'
    );
    id++;
});
// on - так как элемент динамически создан и обычный обработчик с ним не работает
jQuery(document).on('click', '.minus', function(){
    jQuery( this ).closest( 'tr' ).remove(); // удаление строки с полями
});

  
jQuery(function(){
   function setTotalCost(n){
       var c=Number($('#count_'+n).val());
       var p=Number($('#price_'+n).val()); // taking 0 if empty
       jQuery('#totalcost_'+n).val(c*p);
   }
   
   jQuery('[id^="count_"]').on('keyup',function(){
       var n = this.id.replace('count_','');// get the number
       setTotalCost(n);   
   });
   jQuery('[id^="price_"]').on('keyup',function(){
       var n = this.id.replace('price_','');// get the number
       setTotalCost(n);   
   });
});

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования