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



 

Здравствуйте, гость ( Вход | Регистрация )

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


ДЕТАЛИ В ПРОФИЛЕ
******

Группа: Active User
Сообщений: 1005
Регистрация: 16.12.2009
Поблагодарили: 178 раз
Репутация:   54  


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

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

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

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


Новичок
*

Группа: Viewer
Сообщений: 10
Регистрация: 17.5.2013
Поблагодарили: 4 раза
Репутация:   1  


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

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


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


Новичок
*

Группа: User
Сообщений: 16
Регистрация: 4.4.2012
Из: Sevatopol
Поблагодарили: 1 раз
Репутация:   1  


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


Новичок
*

Группа: Viewer
Сообщений: 10
Регистрация: 17.5.2013
Поблагодарили: 4 раза
Репутация:   1  


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


Новичок
*

Группа: User
Сообщений: 16
Регистрация: 4.4.2012
Из: Sevatopol
Поблагодарили: 1 раз
Репутация:   1  


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


ДЕТАЛИ В ПРОФИЛЕ
******

Группа: Active User
Сообщений: 1005
Регистрация: 16.12.2009
Поблагодарили: 178 раз
Репутация:   54  


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

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


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


Новичок
*

Группа: Viewer
Сообщений: 10
Регистрация: 17.5.2013
Поблагодарили: 4 раза
Репутация:   1  


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

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

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


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


ДЕТАЛИ В ПРОФИЛЕ
******

Группа: Active User
Сообщений: 1005
Регистрация: 16.12.2009
Поблагодарили: 178 раз
Репутация:   54  


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

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


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

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


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


Новичок
*

Группа: Viewer
Сообщений: 10
Регистрация: 17.5.2013
Поблагодарили: 4 раза
Репутация:   1  


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


ДЕТАЛИ В ПРОФИЛЕ
******

Группа: Active User
Сообщений: 1005
Регистрация: 16.12.2009
Поблагодарили: 178 раз
Репутация:   54  


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


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Недорогие услуги - php/js/mysql/jquery/bootstrap
2 vlads 655 13.12.2017, 21:01
автор: vlads
Открытая тема (нет новых ответов) Веб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
18 qpPeW 3439 12.12.2017, 13:32
автор: qpPeW
Открытая тема (нет новых ответов) Frontend услуги (верстка, подключение jquery плагинов, кастомизация, написание скриптов)
услуги по frontend-разработке
15 FrontMaster 3220 25.11.2017, 13:46
автор: Stom
Открытая тема (нет новых ответов) Куда добавить новостной сайт?
1 rsem 776 9.11.2017, 18:49
автор: Doktor11
Открытая тема (нет новых ответов) Добавить Last-Modified и 304 Not Modified
2 Saitcena 934 19.10.2017, 9:30
автор: kstnews


 



RSS Текстовая версия Сейчас: 16.12.2017, 4:07
Дизайн