X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> [jQuery] Добавить столбец к таблице с рассчётом, используются массивы
scanread
scanread
Topic Starter сообщение 2.6.2013, 2:34; Ответить: scanread
Сообщение #1


Доброго времени суток.

Снова прошу помощи со скриптом)

Есть массив данных:

var orderArray = [
    ["1", "9775", "143.75", "178" , ""],
    ["2", "1020", "5000", "500" , ""],
    ["3", "1500", "7000", "800" , ""],
    ["4", "3400", "9000", "900" , ""],
    ["5", "2000", "1400", "845" , ""]
    ];


Есть селект для некого выбора:

<select id="first" name="first">
    <option value="">Eff 1</option>
    <option value="0.1">10%</option>    
    <option value="0.2">20%</option>
</select>


Хочу на пустые элементы в массиве добавить столбец, который будет вычисляться по формуле:

Столбец 2 * select id="first"


Примерно глянуть можно здесь, что уже есть: http://jsfiddle.net/QwBsa/19/

В 30 строке скрипта прописал:
var sum = orderArray[0][1];

Хотя вместо него нужно выбрать Столбец 2.

В строке 46:

var test = sum * my;


Т.е., переменная test должна хранить столбец данных, который необходимо внести в конец таблицы.

my - это переменная селекта, которая вычисляет, какое значение было выбрано.

Может что не понятно описал - отвечу на вопросы.

Прикрепленное изображение


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


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Lesha_sp
Lesha_sp
сообщение 4.6.2013, 15:43; Ответить: Lesha_sp
Сообщение #2


scanread, сделал как-то так
То ли что нужно?

Сообщение отредактировал Lesha_sp - 4.6.2013, 15:58


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
sijei
sijei
сообщение 5.6.2013, 10:09; Ответить: sijei
Сообщение #3


Lesha_sp, Вот только строчку $num = orderArrey[i][2]; надо заменить на $num = orderArrey[i][1];
Ну и округлять, дабы машинную ошибку не показывать.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Lesha_sp
Lesha_sp
сообщение 5.6.2013, 10:50; Ответить: Lesha_sp
Сообщение #4


sijei, первая td - это, я так понял, чисто номер строки и человеку, судя по скрину, нужно было именно 2-е число без учёта номера умножать, потому и 2-й индекс.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
sijei
sijei
сообщение 5.6.2013, 17:26; Ответить: sijei
Сообщение #5


Lesha_sp, судя по скрину ему нужны элементы [0][1],[1][1] и т.п. Ну не суть важно, просто автору нужно учесть тогда этот момент.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
scanread
scanread
Topic Starter сообщение 6.6.2013, 19:33; Ответить: scanread
Сообщение #6


Lesha_sp, спасибо. Можно немного подобней описать что к чему? Скажем, необходимо будет добавить еще несколько столбцов с другими формулами, как это сделать?

Сообщение отредактировал scanread - 6.6.2013, 19:34


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Lesha_sp
Lesha_sp
сообщение 7.6.2013, 11:32; Ответить: Lesha_sp
Сообщение #7


scanread, переделал с комментариями и одним добавленным, расчитанным столбиком (добавил проверку на числовое значение селекта и округление результата) - линк

Но вообще конечно нужно смотреть на задачу, т.к. данный пример очень грубо сделан.

Сообщение отредактировал Lesha_sp - 7.6.2013, 11:35


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
scanread
scanread
Topic Starter сообщение 7.6.2013, 23:47; Ответить: scanread
Сообщение #8


Lesha_sp, конкретная и первая задача - это автоматизировать рассчет через массивы, поскольку делать таблицу, и заполнять ее значениями, а потом еще и рассчитывать - весьма неудобно и занимает много времени.

А рассчётных столбцов будет примерно 5-7 штук. И предложенный Вами вариант более чем подходит. Благодарю.
Если даже и можно еще как-то упростить - то это уже не так важно. По ходу дела позже будет видно.


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

Сообщение отредактировал scanread - 7.6.2013, 13:34


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Lesha_sp
Lesha_sp
сообщение 9.6.2013, 15:15; Ответить: Lesha_sp
Сообщение #9


scanread, в jQuery-селекторах указать нужную таблицу(ы).
Например в этой строке:
$cell = $( "#table-id tr:nth-of-type("+(i+1)+") td:nth-of-type("+(j+1)+")" ); - из массива данных будет заполняться таблица с id="table-id",
и тоже самое в этой:
var $itemSix = $( "#table-id tr:nth-of-type("+(i+1)+") td:nth-of-type(6)" ) - умножаться на рандомный коэффициент будет только 6-й столбик i+1 строки таблицы с id="table-id"

Сообщение отредактировал Lesha_sp - 9.6.2013, 15:23


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
scanread
scanread
Topic Starter сообщение 9.6.2013, 16:01; Ответить: scanread
Сообщение #10


Lesha_sp, а я через класс пробовал, правда, по не знанию, класс втуливал в скобки, через что мне ничего совсем не отображало) работает все. Еще раз благодарю.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Если в сайт с одними ключами, которые там долго, добавить новую рубрику с новыми ключами
2 Tutich 1315 16.4.2024, 8:27
автор: Tutich
Открытая тема (нет новых ответов) Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery
Разработка сайтов и сервисов под-ключ
0 alexey 1243 24.11.2023, 14:46
автор: alexey
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВеб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
56 qpPeW 44916 19.7.2023, 10:03
автор: qpPeW
Открытая тема (нет новых ответов) Восстановить сайт + добавить исходные данные
5 Portsmouth 1988 21.5.2023, 7:23
автор: Skyworker
Открытая тема (нет новых ответов) Нужно добавить несколько компаний в Google Miй бiзнес
1 Barselona 2007 10.8.2019, 10:19
автор: Barselona


 



RSS Текстовая версия Сейчас: 23.4.2024, 7:30
Дизайн