Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.03.2015, 05:39
Новичок на форуме
Отправить личное сообщение для ReeQx Посмотреть профиль Найти все сообщения от ReeQx
 
Регистрация: 19.03.2015
Сообщений: 8

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

<table width="100%" border="0" cellspacing="2" cellpadding="2">
<thead>
<th>Предмет</th>
<th>В наличии</th>
<th>Цена</th>
<th>Кол-во</th>
<th>Общая цена</th>
</thead>
<tr>
<td>ручка гелевая</td>
<td>40шт</td>
<td id="cena">5</td>
<td><input id="colvo" onkeyup="summ()"></td>
<td><div id="result"></div></td>
</tr>
<tr>
<td>ручка шариковая</td>
<td>40шт</td>
<td id="cena">10</td>
<td><input id="colvo" onkeyup="summ()"></td>
<td><div id="result"></div></td>
</tr>
</table>
Как можно подсчитывать суммы отдельных строк, не объявляя при этом для каждой из них свою переменную. Еще раз повторюсь ОЧЕНЬ большая таблица
Ответить с цитированием
  #2 (permalink)  
Старый 19.03.2015, 05:51
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Ну вам же просчет нужно только той строки, в которой производится выбор, так ведь?
Ответить с цитированием
  #3 (permalink)  
Старый 19.03.2015, 05:56
Новичок на форуме
Отправить личное сообщение для ReeQx Посмотреть профиль Найти все сообщения от ReeQx
 
Регистрация: 19.03.2015
Сообщений: 8

да, допустим человеку нужны ручки шариковые, он указывает кол-во и сразу видит сумму
повторюсь еще раз, так как таблица больших размеров, не получится назначить переменные каждой ячейке с ценой.
не могу додуматься как сделать так, чтобы автоматически определялась цена именно той строки в которой указали кол-во

Последний раз редактировалось ReeQx, 19.03.2015 в 06:03.
Ответить с цитированием
  #4 (permalink)  
Старый 19.03.2015, 06:01
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

А что означает 40шт.? Это единица измерения цены, то есть 10 у.е. за 40 шт.?
Ответить с цитированием
  #5 (permalink)  
Старый 19.03.2015, 06:04
Новичок на форуме
Отправить личное сообщение для ReeQx Посмотреть профиль Найти все сообщения от ReeQx
 
Регистрация: 19.03.2015
Сообщений: 8

нет, простите за лишний код, это можно не учитывать, это значение показывает сколько товара в наличии
Ответить с цитированием
  #6 (permalink)  
Старый 19.03.2015, 06:07
Новичок на форуме
Отправить личное сообщение для ReeQx Посмотреть профиль Найти все сообщения от ReeQx
 
Регистрация: 19.03.2015
Сообщений: 8

вот для наглядного примера http://learn.javascript.ru/play/O2Z5lb
Ответить с цитированием
  #7 (permalink)  
Старый 19.03.2015, 06:46
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Не могут N-элементов на странице иметь одно и тоже id. ID - это уникальный идентификатор. И в стилях надо описывать и не старье. На jQuery:

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<style>
table {
    border-collapse: separate;
    width: 100%;
    /* etc */
}

th {
    background: #eee;
    padding:  8px;
}

td {
    padding: 8px;
    border: 1px solid #eee;
}
</style> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script> 
$(function() {
    $('#as_name').on('keyup', 'input', function() {
        var p = $(this.parentNode);
        p.next().text(this.value.replace(/\D/, '')*1 * p.prev().text().replace(/\D/, '')*1)
    })
});
</script>     
</head> 

<body>
<table id="as_name">
    <thead>
        <th>Предмет</th>
        <th>В наличии</th>
        <th>Цена</th>
        <th>Кол-во</th>
        <th>Общая цена</th>
    </thead>
    <tr>
        <td>ручка гелевая</td>
        <td>40шт</td>
        <td>5</td>
        <td><input /></td>
        <td></td>
    </tr>
    <tr>
        <td>ручка шариковая</td>
        <td>40шт</td>
        <td>10</td>
        <td><input /></td>
        <td></td>
    </tr>
</table>
</body> 
</html>


Или не используется он, судя по примеру?

Последний раз редактировалось laimas, 19.03.2015 в 06:49.
Ответить с цитированием
  #8 (permalink)  
Старый 19.03.2015, 07:59
Новичок на форуме
Отправить личное сообщение для ReeQx Посмотреть профиль Найти все сообщения от ReeQx
 
Регистрация: 19.03.2015
Сообщений: 8

Спасибо большое! Еще вопрос, как потом общую сумму вывести?
Ответить с цитированием
  #9 (permalink)  
Старый 19.03.2015, 11:33
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Можно вывести и общую сумму, но ОЧЕНЬ большая это ОЧЕНЬ сколько? Очень большую не представляю на странице, кто же такую выдержит, но кто его знает, а вдруг, и придется CUDA подключать )
Ответить с цитированием
  #10 (permalink)  
Старый 20.03.2015, 01:32
Новичок на форуме
Отправить личное сообщение для ReeQx Посмотреть профиль Найти все сообщения от ReeQx
 
Регистрация: 19.03.2015
Сообщений: 8

там строк 400 примерно в сумме, на странице несколько таблиц
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение содержимого элемента каждой строки в представлении после render hummingbird Backbone.js 1 22.03.2014 17:22
Считать строки в таблице игнорируя вложенные Гробовщик jQuery 7 17.12.2013 09:49
Добавить/удалить строки в таблице zerojava Элементы интерфейса 4 31.12.2012 16:43
Выделение строки в таблице posta ExtJS 5 23.06.2011 12:31
Отфильтровать строки в таблице по заданным критериям Hag1989 Общие вопросы Javascript 0 03.12.2009 02:06