|
|
|
[jquery] отсортировать таблицу на клиенте методом быстрой сортировки
|
|||
|---|---|---|---|
|
#18+
Доброго всем дня, господа, давно не виделись :-) Внезапно захотелось отсортировать таблицу на клиенте методом быстрой сортировки. Родила примерно следующий код: Код: javascript 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. но [неожиданно] оказалось, что, несмотря на то, что условие A.eq(i).find("td:nth-child(2)").text() < A.eq(0).find("td:nth-child(2)").text() отрабатывает по-честному, оба вспомогательных набора a и b так и остаются пустыми, и в итоге на выходе функции остается одна лишь первая строка таблицы, использующаяся на первом этапе рекурсии в качестве опорной. Вопрос: какого лешего не срабатывают a.add(A.eq(i)) и b.add(A.eq(i)), и что надо сделать, чтобы на выходе таки получить отсортированный набор строк? П.С. 1) нет, готового подходящего плагина для сортировки не нашла, потому что реальная таблица очень длинная, многоуровневая, с колспанами и роуспанами; 2) нет, сортировать на сервере не вариант, это намного дороже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 09:03 |
|
||
|
[jquery] отсортировать таблицу на клиенте методом быстрой сортировки
|
|||
|---|---|---|---|
|
#18+
illion, Код: javascript 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 13:28 |
|
||
|
[jquery] отсортировать таблицу на клиенте методом быстрой сортировки
|
|||
|---|---|---|---|
|
#18+
illion, что-то ты намудрила ) скажу по секрету (только никому не говори), что метод быстрой сортировки уже сделан для массива. Времена нынче такие - всё сговнокодено до нас )) Код: 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. про сортировку таблицы с роуспанами я, конечно, не совсем понимаю, как делать. Там по ситуации. Но принцип тот же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 19:24 |
|
||
|
[jquery] отсортировать таблицу на клиенте методом быстрой сортировки
|
|||
|---|---|---|---|
|
#18+
kunaksergey, а что это за алгоритм? П.С. кстати, итог - 2,3,4,7,5,9,9 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2015, 08:17 |
|
||
|
[jquery] отсортировать таблицу на клиенте методом быстрой сортировки
|
|||
|---|---|---|---|
|
#18+
Яростный Мечвсё сговнокодено до нас )) собсна, на это я и понадеялась, взяв готовый код (рабочий) и попытавшись перевести его с массивов на наборы jquery. исходный вариант Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. но почему-то a.add(A.eq(i)) не срабатывает, хоть убейся. Почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2015, 08:28 |
|
||
|
[jquery] отсортировать таблицу на клиенте методом быстрой сортировки
|
|||
|---|---|---|---|
|
#18+
Яростный Мечпро сортировку таблицы с роуспанами я, конечно, не совсем понимаю, как делать. Там по ситуации. Но принцип тот же. вот с точки зрения роуспанов мне и хотелось сначала получить отсортированный набор, а потом только строки на странице менять местами. Приблизительно хотелось сделать так: Код: javascript 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2015, 09:58 |
|
||
|
[jquery] отсортировать таблицу на клиенте методом быстрой сортировки
|
|||
|---|---|---|---|
|
#18+
illion, Это есть метод быстрой сортировки.. Немного подправил код: Код: javascript 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2015, 10:04 |
|
||
|
[jquery] отсортировать таблицу на клиенте методом быстрой сортировки
|
|||
|---|---|---|---|
|
#18+
А вот твой вариант: Код: javascript 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2015, 12:35 |
|
||
|
[jquery] отсортировать таблицу на клиенте методом быстрой сортировки
|
|||
|---|---|---|---|
|
#18+
kunaksergeyА вот твой вариант: О! супер :-) . Не знала о методе merge, спасибо. Пришлось еще преобразование Number() добавить, почему-то в таком варианте перестало работать автоматическое. Метод add так и остался для меня загадкой, увы. Конечный вариант с роуспанами Код: javascript 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2015, 02:45 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=39107369&tid=1445619]: |
0ms |
get settings: |
6ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
156ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 474ms |

| 0 / 0 |
