Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   📢 JSON сложно разбирается и в таблицу не подставляется 📢 (https://javascript.ru/forum/offtopic/76649-json-slozhno-razbiraetsya-i-v-tablicu-ne-podstavlyaetsya.html)

Malleys 29.01.2019 23:47

📢 JSON сложно разбирается и в таблицу не подставляется 📢
 
📢📢
Цитата:

Сообщение от Noobster
Дорый день,
Сразу извинюсь за подобное сообщение, но требуется не большая помощь для знакомго у которого зачёт по универе.
Если я вас не вовремя побеспокоил пожалуйста удалите сообщение :cray: А если поможете были бы очень благодарны, т.к. что смог скам написал, дальше никак :help: .

И так, стоит задача без jQuery, выполнить AJAX запрос с параметрами из формы, и ответ JSON массива подставить в HTML таблицу.

Submit кнопка из формы:
<button type="button" onclick="javascript:ajaxCalc(this)">Calculate</button>

HTML и JS: https://jsfiddle.net/L8or0w7d


Полученый Массив:
Код:

{"carvalue":"10000.00","base_premium":"11.00","commission":"17.00","tax_rate":"13","inst_count":"5","calc_base":"1100.00","calc_base_inst":{"1":"220.00","2":"220.00","3":"220.00","4":"220.00","5":"220.00"},"calc_comision":"187.00","calc_comision_inst":{"1":"37.40","2":"37.40","3":"37.40","4":"37.40","5":"37.40"},"calc_tax":"143.00","calc_tax_inst":{"1":"28.60","2":"28.60","3":"28.60","4":"28.60","5":"28.60"},"calc_total":"1430.00","calc_total_inst":{"1":"286.00","2":"286.00","3":"286.00","4":"286.00","5":"286.00"}}
P.S. Есть возможность в любом ввиде изменить массив на серверной стороне, чтобы правельный формат ур. массива собрать.


Результат должен быть след:
http://prntscr.com/mdtm3p

Вопрос:
1. Как сократить JS код который парсит JSON, я думаю можно в for прокрутить весь массив, и по ID подставлять значение, т.к. ключь массива == ID
2. Как подставлять массив *_inst (их несколько) в <td></td>

Спасибо и извините.


Malleys 30.01.2019 00:21

Цитата:

Сообщение от Noobster
1. Как сократить JS код который парсит JSON, я думаю можно в for прокрутить весь массив, и по ID подставлять значение, т.к. ключь массива == ID
2. Как подставлять массив *_inst (их несколько) в <td></td>

Смотрите моё решение.... https://jsfiddle.net/k3xcLyap/

Я в функции ajaxCalc закомментировал те места, которые обращаются к серверу и вместо настоящего ответа разбирается приведённый вами ответ от сервера. Это я сделал для того, чтобы можно было убедиться в работоспособности программы. Вы же можете удалить эту заглушку, и раскомментировать те места, которые обращаются к серверу. При нажатии на кнопку Calculate происходит подстановка ответа от сервера в таблицу!

Цитата:

Сообщение от Noobster
А если поможете были бы очень благодарны

Почему вы именно ко мне обратились? Наверное создав тему на форуме вы бы быстрей получили бы более качественный ответ.

Malleys 30.01.2019 22:39

...
Цитата:

Сообщение от Noobster
Цитата:

Сообщение от Malleys
Цитата:

Сообщение от Noobster
1. У тебя статический работает при 5 значение, но оно может быть с 1 до 12, а я же показал прим с 3 записями (т.е. instant)

2. Ты через CSS скрываешь столбцы...

Если есть возможность без вмешательство CSS как-то сделать.
Извините за беспокоиствие.

Вот тут учтены оба замечания... https://jsfiddle.net/7sowd21z/

Вроде то что надо :thanks: :thanks: :thanks:
Спасибо большое !!!



Часовой пояс GMT +3, время: 07:58.