Ячейки таблицы и их значение
День добрый. Есть таблица типа
<table id="product_table">
<tr>
<th>
Name
</th>
<th class="count">
Count
</th>
<th class='price'>
Price
</th>
<th>
Discount
</th>
</tr>
</table>
В эту таблицу при нехитрых действиях пользователя вставляются идентичные поля при помощи jquery, т.е. если юзер нажал кнопку, добавилось следующее
<tr>
<th>
Name
</th>
<th class="count">
Count
</th>
<th class='price'>
Price
</th>
<th>
Discount
</th>
</tr>
и в таблице уже не одна строка, а две. В полях с классом price будет числовое значение, мне нужно обойти все теги с классом price и просуммировать общее значение. Также эти поля можно удалять, функция реализована также на jquery. В чем проблема: посчитать общую сумму я могу, т.к. у меня есть переменная с этим значением. Но! При удалении ячейки сумма, понятное дело, не обновляется. Т.е. как я понимаю, мне нужно при помощи цикла обойти все теги с классом price, взять из них значение, сложить и вывести. Если строка удаляется, опять же обходим все теги и суммируем значение. Получается некая функция. Если кто знает, как вышеописанные действия реализовать на jquery или с помощью каких методов их реализовать, прошу подсказать. Спасибо. |
Цитата:
|
del
|
Возник новый вопрос. Как обойти все строки таблицы и получить их значение, которое между тегами?
Т.е. есть html-код:
table id="product_table">
<tr class='click'>
<th class='name'>
Name
</th>
<th class="count">
Count
</th>
<th class='price'>
Price
</th>
<th class='dis_price'>
Discount price
</th>
<th class='discount'>
Discount
</th>
</tr>
</table>
Таких строк <tr></tr> будет n-ое количество. Как обойти все ячейки из тега <tr></tr> и получить значение, к примеру, между тегом <th class='name'>name_of_product</th> Результатом должна быть строка 'name_of_product'. Я пытался сделать что то типа
$("#product_table .click th").each(function() {
var result = document.getElementsByClassName($(this).attr('class')).val());
});
но ничего не получается. |
<script src="http://code.jquery.com/jquery-latest.js"></script>
<table id="product_table">
<tr class='click'>
<th class='name'>
Name
</th>
<th class="count">
Count
</th>
<th class='price'>
Price
</th>
<th class='dis_price'>
Discount price
</th>
<th class='discount'>
Discount
</th>
</tr>
</table>
<script>
var arrTh=[]
$("#product_table .click th").each(function() {
arrTh.push($(this).attr('class')+"="+$.trim($(this).text()));
});
alert(arrTh.join(',\n'))
</script>
|
В ниже приведенной таблице у меня стоит обработчик клика правой кнопкой мышки, по которому выводится собственное попап-меню. В этом меню есть опция Edit. Она должна позволять редактировать значения в ячейках таблицы. Т.е. клик ПКМ -> опция Edit -> выводится тег <input> возле ячейки, по которой кликнули -> в инпут записывается текущее значение -> меняем значение на нужное -> жмем enter и значение обновляется в ячейке. Я понимаю, что ввод инфы нужно обрабатывать при помощи
$("#input_id").change(function() {
// код
});
Проблема только с добавлением этого input в нужное место(либо возле указателя мышки, либо аккурат слева/справа от ячейки, в которой меняем значение). Прошу помощи, как решить эту проблему.
<table id="product_table">
<tr class='click'>
<th class='name'>
Name
</th>
<th class="count">
Count
</th>
<th class='price'>
Price
</th>
<th class='dis_price'>
Discount price
</th>
<th class='discount'>
Discount
</th>
</tr>
</table>
|
| Часовой пояс GMT +3, время: 19:03. |