|
|
|
как сделать список раскрывающимся?
|
|||
|---|---|---|---|
|
#18+
нужно вывести таблицу в случае совпадения значений в первом столбе в нескольких подряд идущих строках (возможно, данные следует отсортировать по этому значению, и думаю там не хронологический порядок) выводить только первую строку, остальные скрыть, с возможностью открывания по упомянутой строке. Сгенерировал такую разметку <table id="data-table"> <tr><td class="clicker" data-id="g12">12</td><td>...</td></tr> <tbody id="g12" class="hidden"> <tr><td>12</td><td>...</td></tr> <tr><td>12</td><td>...</td></tr> </tbody> <tr><td class="clicker" data-id="g14">14</td><td>...</td></tr> <tbody id="g14" class="hidden"> <tr><td>14</td><td>...</td></tr> <tr><td>14</td><td>...</td></tr> </tbody> </table> взял код JS $("#data-table").on('click', '.clicker', function(){ var relId = $(this).data('id); $('#' + relId).toggle(); }); и CSS конечно. .hidden { display: none; } вроде бы все есть. только вот как сделать с этим это: в первом столбце есть значения. в нем есть много одинаковых. и нужно сделать кнопку для всех значений только по одной каждому. то есть когда нажать допустим на 37130550488 то этот список раскрывался и выводились все 37130550488. и так дальше. И значение других столбцов должно меняться соответственно этому столбцу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 12:55 |
|
||
|
как сделать список раскрывающимся?
|
|||
|---|---|---|---|
|
#18+
Вы не тот форум выбрали. Это к JavaScript относится больше. А по теме - присвоить всем "одинаковым" одинаковый идентификатор. А в JS в цикле перебирать элементы и раскрывать. JQuery вроде может селекторами делать это автоматически, без необходимости городить вручную циклы перебора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 13:11 |
|
||
|
как сделать список раскрывающимся?
|
|||
|---|---|---|---|
|
#18+
вы не правильно поняли. вот мой код. думаю правильно поймете чего я не могу сделать :) Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 13:38 |
|
||
|
как сделать список раскрывающимся?
|
|||
|---|---|---|---|
|
#18+
теперь, как сделать с этим это: в первом столбце есть значения. в нем есть много одинаковых. и нужно сделать кнопку для всех значений только по одной каждому. то есть когда нажать допустим на 37130550488 то этот список раскрывался и выводились все 37130550488. и так дальше. И значение других столбцов должно меняться соответственно этому столбцу. Модератор: Тема перенесена из форума "PHP, Perl, Python". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 13:40 |
|
||
|
как сделать список раскрывающимся?
|
|||
|---|---|---|---|
|
#18+
вот скрин того что у меня есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 13:43 |
|
||
|
как сделать список раскрывающимся?
|
|||
|---|---|---|---|
|
#18+
вот скрин того что у меня есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 13:45 |
|
||
|
как сделать список раскрывающимся?
|
|||
|---|---|---|---|
|
#18+
PHucker, ...вам фильтр в заголовках таблицы а-ля Эксель сделать нужно? ... вообще-то knockout.js это может, но не так просто ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 14:03 |
|
||
|
как сделать список раскрывающимся?
|
|||
|---|---|---|---|
|
#18+
PHucker, решал похожие задачи. Правда серверную часть делал не на PHP, а на Delphi (обычный ISAPI-модуль). Алгоритм такой: - делаем выборку из базу - сортируем по первым столбцам (те, которые будут в группе) В зависимости от ситуации, сортировать можно и на сервере... - двигаемся по отсортированному Recordset и формируем HTML, как в этом шаблоне http://jsfiddle.net/NZaw4/10/ Достоинства метода: - простая верстка (обычная плоская таблица) - легко формируется на сервере (например из SQL-запроса) - минимум JavaScript В моем случае, 4 тыс. строк формировались за секунду, конечный HTML был ~ 150 Кб. Скорость высокая, манагеры довольны :) Еще как вариант использовать продвинутую библиотеку, например Kendo . Здесь в примере, достаточно мышью перетащить любые заголовки, для получения группировок. З.Ы. Эти таблицы с группировками умеют делать отчетные системы типа MS Reporting, Oracle BI и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 14:09 |
|
||
|
как сделать список раскрывающимся?
|
|||
|---|---|---|---|
|
#18+
user89, Да, хорошая идея. Но у меня тут все почти готово. Осталось только сделать кнопку которая скрывает\раскрывает сгруппированные записи в таблице из БД. Только я не знаю как это сделать. (( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2014, 06:31 |
|
||
|
как сделать список раскрывающимся?
|
|||
|---|---|---|---|
|
#18+
PHucker, у каждой строки должен быть признак, который отвечает за уровень в группе. Или через ID (типа 1_1, 1_2, 1_3, 2_1, 2_2) или через класс (lev1, lev2) Потом двигаемся вниз от строки по которой щелкнули, пока соблюдается условие по ID (или классу) Далее у строки display = 'none' или display = 'table-row' ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2014, 08:47 |
|
||
|
как сделать список раскрывающимся?
|
|||
|---|---|---|---|
|
#18+
user89, вот если бы я мог присвоить ID каждой строке(. у меня оно автоматически выходит через Код: php 1. 2. 3. 4. 5. 6. 7. 8. и у меня нет никаких вариантов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2014, 09:41 |
|
||
|
как сделать список раскрывающимся?
|
|||
|---|---|---|---|
|
#18+
уже неделю голову ломаю. Я просто новичок и трудновато мне ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2014, 09:42 |
|
||
|
как сделать список раскрывающимся?
|
|||
|---|---|---|---|
|
#18+
PHucker, у Вас во втором сообщении есть длинный код, где повторяется id="first" Код: html 1. 2. 3. 4. 5. 6. id в коде документа должен быть в единственном экземпляре , иными словами, встречаться только один раз. Скорее всего должно быть <td class="first"> Далее идет правильный select с сортировкой. PHP я не знаю, вот псевдокод, надо перевести на PHP. Смысл такой: двигаемся по отсортированной выборке и формируем таблицу. В 1-м столбце сравниваем текущую ячейку и предыдущую. Если отличаются, то это 1-й уровень. Если совпадают - то второй уровень. Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Цель: вместо Код: php 1. сделать Код: php 1. 2. 3. и воспользоваться скриптиком из http://jsfiddle.net/NZaw4/10/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2014, 10:59 |
|
||
|
как сделать список раскрывающимся?
|
|||
|---|---|---|---|
|
#18+
id first Это с CSS :)(ну вы это поняли) да, можно и в class'е задать. Мне кинули такую идею: "я бы обработал изначально данные перед выводом. сгруппировав их в массив, по этому самому номеру, и потом выводил в таблице согласно группам, а группу можно вывести в отдельном диве или любом другом удобном элементе, и отображать скрывать его сколько угодно." что на это скажете? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2014, 11:40 |
|
||
|
как сделать список раскрывающимся?
|
|||
|---|---|---|---|
|
#18+
а "скриптик" я взял такой: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2014, 11:44 |
|
||
|
как сделать список раскрывающимся?
|
|||
|---|---|---|---|
|
#18+
PHucker, ...вы не хотите просто вставить в заголовки таблицы dropdown-списки, которые будут формироваться запросом к SQL 'select DISTINCT' ... ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2014, 12:04 |
|
||
|
как сделать список раскрывающимся?
|
|||
|---|---|---|---|
|
#18+
...вы не хотите просто вставить в заголовки таблицы dropdown-списки, которые будут формироваться запросом к SQL 'select DISTINCT' ... ? вот мы и поняли друг-друга :) я хочу dropdown-списки поставить на строку. допустим если у меня в списке 15 одинаковых значений(допустим цифру 123456), то взять 1 из них и сделать раскрывающийся кнопкой, а остальные 14 скрыть. И при нажатии на эту кнопку они раскрывались и при еще одном клике обратно скрыть. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2014, 12:14 |
|
||
|
как сделать список раскрывающимся?
|
|||
|---|---|---|---|
|
#18+
PHucker...вы не хотите просто вставить в заголовки таблицы dropdown-списки, которые будут формироваться запросом к SQL 'select DISTINCT' ... ? вот мы и поняли друг-друга :) я хочу dropdown-списки поставить на строку. допустим если у меня в списке 15 одинаковых значений(допустим цифру 123456), то взять 1 из них и сделать раскрывающийся кнопкой, а остальные 14 скрыть. И при нажатии на эту кнопку они раскрывались и при еще одном клике обратно скрыть. :) ... может вам посмотреть реализации баянов, то бишь, accordeon :) ??? ... По-моему, это больше подходит .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2014, 12:31 |
|
||
|
как сделать список раскрывающимся?
|
|||
|---|---|---|---|
|
#18+
PHucker, На JavaScript. Обычная таблица становится группирующей Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2014, 12:34 |
|
||
|
как сделать список раскрывающимся?
|
|||
|---|---|---|---|
|
#18+
круууть! :) да! вот так! с этой таблице нужно сделать такое же)) вот только не знаю как (((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2014, 12:40 |
|
||
|
как сделать список раскрывающимся?
|
|||
|---|---|---|---|
|
#18+
проблема в том что у меня данные берутся из БД и выводятся в таблицу с этим кодом: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2014, 12:43 |
|
||
|
как сделать список раскрывающимся?
|
|||
|---|---|---|---|
|
#18+
PHucker, а первый столбец называется history.MeterNum ? Если да, то сделайте сортировку Код: sql 1. Цель: получить на клиенте отсортированную таблицу по первому столбцу (у меня шла сортировка по столбцу - ФИО) Подключите CSS и Script из моего примера. И всё! Javascript сам пройдет по отсортированной таблице и расставит группы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2014, 14:15 |
|
||
|
как сделать список раскрывающимся?
|
|||
|---|---|---|---|
|
#18+
user89PHucker, а первый столбец называется history.MeterNum ? Если да, то сделайте сортировку Код: sql 1. Цель: получить на клиенте отсортированную таблицу по первому столбцу (у меня шла сортировка по столбцу - ФИО) Подключите CSS и Script из моего примера. И всё! Javascript сам пройдет по отсортированной таблице и расставит группы. да, первый столбец называется meternum. я могу сделать сортировку, но с вашим кодом вряд ли могу воспользоваться. покажите на моем коде пожалуйста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2014, 06:06 |
|
||
|
как сделать список раскрывающимся?
|
|||
|---|---|---|---|
|
#18+
то есть можете на примере показать как вставить в ваш код? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2014, 06:13 |
|
||
|
как сделать список раскрывающимся?
|
|||
|---|---|---|---|
|
#18+
попробовал вот так: Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2014, 06:22 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=38653217&tid=1447012]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
64ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
91ms |
get tp. blocked users: |
2ms |
| others: | 203ms |
| total: | 414ms |

| 0 / 0 |
