Выполнение расчетов на ячейках таблицы - PullRequest
2 голосов
/ 16 августа 2010

У меня есть скрипт php, который генерирует прайс-лист в таблице.Пример сгенерированной таблицы:

<table>
  <thead>
    <tr>
    <th></th>
    <th>100</th>     
    <th>+100</th>           
    </tr>
  </thead>
  <tbody>
    <tr>
           <th>A5<span>210x148</span></th>
           <td>€65.00</td>
           <td>€8</td>
        </tr>
        <tr>
           <th>A4<span>297x210</span></th>
           <td>€75.00</td>
           <td>€16</td>
        </tr>       
  </tbody>
</table>

По сути, я хочу сделать кнопку для добавления НДС.Итак: возьмите значения из ценовых ячеек, добавьте 21% и замените первоначальное значение.Если кнопка нажата снова, она перезапускается.

Моя проблема в том, что я не знаком с jquery и не могу понять, как извлечь и переписать значения в чел.Я могу получить желаемый эффект, если добавлю идентификатор в ячейку, однако я не могу понять, как это сделать для всех ячеек.Еще одна вещь, с которой я не могу работать - это убрать знак валюты, чтобы сделать расчет.

Ответы [ 2 ]

2 голосов
/ 16 августа 2010

Один из подходов состоит в том, чтобы дать этим «ценовым» ячейкам имя класса

<td class='price'>

, а затем перебрать эту коллекцию элементов:

$('price').each(function(index) {
     vat = $(this).text().replace("$", "") * 1.21;
     $(this).text() = vat;
  });

Не проверено, но, надеюсь, оно передает идею.

1 голос
/ 16 августа 2010

Вы можете добавить класс в КАЖДУЮ ячейку таблицы, где у вас будет цена для расчета НДС, например

<td class='priceCell'>

, а затем сделать что-то вроде первой кнопки

$('priceCell').each(function(index) {
     $(this).text() = calculateVAT($(this).text());
  });
* 1006.* Где Calculate VAT - это функция JavaScript, которая рассчитывает НДС.Поскольку это решение выполняет вычисление числа с плавающей запятой для числа, которое может быть округлено, другое возможное элегантное решение - добавить скрытый столбец с итоговыми данными с добавленным НДС, а кнопка просто переключаться между двумя столбцами
...