Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Выделить строку в таблице html при нажатии мыши
|
|||
|---|---|---|---|
|
#18+
Задача вроде бы простая: при щелчке мышью в любую ячейку таблицы, должна выделиться вся строка. И оставаться подкрашенной, пока не выберем другую строчку в таблице или щелкнем в любое место экрана. Для нормальных браузеров решается через tabindex и одной записью на CSS: Код: css 1. Но Internet Explorer как обычно, в своем репертуаре. IE 11 не хочет работать с tr:focus Решения в гугле нет, поэтому приведу здесь, может кому пригодится (работает, даже если в ячейке есть другие элементы) Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 10:18 |
|
||
|
Выделить строку в таблице html при нажатии мыши
|
|||
|---|---|---|---|
|
#18+
user89, ИМХО, идеологически и семантически неправильно и некорректно использовать фокус для стилевого выделения строки таблицы. Используем простейший способ с CSS-классом active и toggle по клику. Работает как часы, работает везде, понятно всем, отлично отлаживается, можно легко выбрать какие элементы активные и не думать и гадать, а сработает ли это у пользователя, семантически верно. Задача и решение стара как мир. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 10:34 |
|
||
|
Выделить строку в таблице html при нажатии мыши
|
|||
|---|---|---|---|
|
#18+
user89, Cамая большая проблема у фокуса, что решение на фокусах пойдёт лесом, если надо выделить строку таблицы и ещё что-нибудь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 10:36 |
|
||
|
Выделить строку в таблице html при нажатии мыши
|
|||
|---|---|---|---|
|
#18+
hVostt, приведите, пожалуйста, простое решение для IE. Таблицу можно взять из моего первого сообщения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 11:03 |
|
||
|
Выделить строку в таблице html при нажатии мыши
|
|||
|---|---|---|---|
|
#18+
user89, row.focus(); нет такого строка таблицы не может получить фокус. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 11:04 |
|
||
|
Выделить строку в таблице html при нажатии мыши
|
|||
|---|---|---|---|
|
#18+
user89, как вариант Код: javascript 1. 2. 3. 4. .part - класс в строках таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 11:12 |
|
||
|
Выделить строку в таблице html при нажатии мыши
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 11:12 |
|
||
|
Выделить строку в таблице html при нажатии мыши
|
|||
|---|---|---|---|
|
#18+
user89любой элемент через tabindex может получить фокус да . забыл я про такое.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 11:14 |
|
||
|
Выделить строку в таблице html при нажатии мыши
|
|||
|---|---|---|---|
|
#18+
вадя, похожий вариант с перебором я обдумывал, но не знаю какова будет скорость на больших таблицах... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 11:16 |
|
||
|
Выделить строку в таблице html при нажатии мыши
|
|||
|---|---|---|---|
|
#18+
user89похожий вариант с перебором я обдумывал, но не знаю какова будет скорость на больших таблицах... можно хранить указатель на выделенную строку и при новом клике удалить только с него и назначить новую строку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 11:21 |
|
||
|
Выделить строку в таблице html при нажатии мыши
|
|||
|---|---|---|---|
|
#18+
user89hVostt, приведите, пожалуйста, простое решение для IE. Таблицу можно взять из моего первого сообщения. https://jsfiddle.net/vdz7ajwn/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 11:30 |
|
||
|
Выделить строку в таблице html при нажатии мыши
|
|||
|---|---|---|---|
|
#18+
user89похожий вариант с перебором я обдумывал, но не знаю какова будет скорость на больших таблицах... Оптимизированный на скорость для огромных таблиц вариант: https://jsfiddle.net/vdz7ajwn/1/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 11:32 |
|
||
|
Выделить строку в таблице html при нажатии мыши
|
|||
|---|---|---|---|
|
#18+
user89больших таблицах... большие таблицы - это сколько строк? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 11:40 |
|
||
|
Выделить строку в таблице html при нажатии мыши
|
|||
|---|---|---|---|
|
#18+
вадяuser89больших таблицах... большие таблицы - это сколько строк?Одно из моих приложений выдает 12 тыс.строк х 6 столбцов. Пользователи захотели, чтобы вся выборка тащилась в браузер. В локальной сети тормозов нет, а вся страница занимает меньше 5 Мб. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 11:58 |
|
||
|
Выделить строку в таблице html при нажатии мыши
|
|||
|---|---|---|---|
|
#18+
hVosttОптимизированный на скорость для огромных таблиц вариант: https://jsfiddle.net/vdz7ajwn/1/ ОК. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 11:59 |
|
||
|
Выделить строку в таблице html при нажатии мыши
|
|||
|---|---|---|---|
|
#18+
user89Одно из моих приложений выдает 12 тыс.строк х 6 столбцов. Пользователи захотели, чтобы вся выборка тащилась в браузер пример идиотов.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 12:22 |
|
||
|
Выделить строку в таблице html при нажатии мыши
|
|||
|---|---|---|---|
|
#18+
user89Одно из моих приложений выдает 12 тыс.строк х 6 столбцов. Пользователи захотели, чтобы вся выборка тащилась в браузер. В локальной сети тормозов нет, а вся страница занимает меньше 5 Мб. Если строк будет сильно больше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 12:22 |
|
||
|
Выделить строку в таблице html при нажатии мыши
|
|||
|---|---|---|---|
|
#18+
hVostt, сильно больше не будет. В самом худшем случае за 15 тыс. не перевалит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 12:42 |
|
||
|
Выделить строку в таблице html при нажатии мыши
|
|||
|---|---|---|---|
|
#18+
user89hVostt, сильно больше не будет. В самом худшем случае за 15 тыс. не перевалит. Рекомендую уже прямо сейчас озаботиться решением этого вопроса. Лучше уж сделать пейджинг, ограничить страницу пейджинга 12 тыс. строк и по крайне мере не столкнуться с проблемой: срочно, прямо сейчас, пользователи не могут, всё тормозит, аааа!!! Ну и вообще рекомендую никогда не придерживаться прогнозирования удобного "худшего случая". Худший случай это миллионы строк. Если не здесь, то где-нибудь в другом месте. Если не сейчас и не завтра, то послезавтра. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 13:09 |
|
||
|
Выделить строку в таблице html при нажатии мыши
|
|||
|---|---|---|---|
|
#18+
Забыл решение выложить Оно основано на варианте от hVostt, только без jQuery Здесь 2 варианта. Через :focus и setAttribute Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2017, 10:03 |
|
||
|
Выделить строку в таблице html при нажатии мыши
|
|||
|---|---|---|---|
|
#18+
user89, спасибо за пример подскажите, пожалуйста, как для Варианта_2, при клике по строке (для выделения) , получить содержимое второй ячейки этой строки. Пример: Код: 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. например, при клике по второй строке получить www ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2017, 14:13 |
|
||
|
Выделить строку в таблице html при нажатии мыши
|
|||
|---|---|---|---|
|
#18+
Alex_Wong, у элемента строка есть коллекция cells, тебе лишь нужно взять innerHTML у нужного по счету элемента коллекции Пример из МСДН Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2017, 14:42 |
|
||
|
Выделить строку в таблице html при нажатии мыши
|
|||
|---|---|---|---|
|
#18+
Alex_Wong, как правильно сказал krvsa, надо использовать cells . Возможно, этот шаблон будет легче для понимания: Код: javascript 1. 2. 3. 4. 5. 6. 7. На всякий случай, стили для CSS Код: css 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. И полигон "Добавить-удалить строки-столбцы" Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2017, 15:07 |
|
||
|
Выделить строку в таблице html при нажатии мыши
|
|||
|---|---|---|---|
|
#18+
user89, krvsa спасибо за помощь делал так : Код: 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. потом выделял строку цветом. Хотел компактно сделать с Вашим примером, - пока не получилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2017, 17:22 |
|
||
|
Выделить строку в таблице html при нажатии мыши
|
|||
|---|---|---|---|
|
#18+
Alex_Wong, на каждую строку в таблице, вешать клик не надо. Достаточно 1 раз на контейнер... Так пойдет? Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2017, 18:06 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=39447922&tid=1444636]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
68ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 299ms |
| total: | 469ms |

| 0 / 0 |
