Не сортировать один столбец таблицы
Здравствуйте. Возникла необходимость сделать сортировку html таблицы, кликая на заголовки. Нашел в сети такой скрипт: http://tablesorter.com/docs/#Demo
Применил его к своей таблице и все заработало как нужно, только: Первый столбец в моей таблице это "Номер по порядку" и данные там идут 1, 2, 3... И когда я применяю сортировку по любому из столбцов, цифры из первой колонки перемешиваются. Можете подсказать как запретить движения первой колонки? Чтобы данные там были неизменны. |
Пробовал сделать колонку "номер по порядку" отдельной таблицей, расположил ее левее основной. Но некоторые строки таблицы имеют разную высоту в зависимости от текста и получается они не совпадают по размерам((
|
Leon2110,
уберите цифры поставьте css счётчик |
Благодарю. Спасибо за совет, все получилось.
|
Появилась новая проблема(( Эта колонка с нумерацией не выводится на печать (а это одна из главных задач) и немного не нравится что она начинается от шапки. Нашел вот такой код на js:
$('table tr').each(function(i) { var number = i + 1; $(this).find('td:first').text(number); }); Он работает отлично, но нумерация начинается с 2-ки, а нужно с 1 (видимо 1 пропускается из-за заголовка таблицы). Можно ли в этом коде сделать нумерацию на 1 меньше? И подскажите как выполнить его еще раз по нажатию кнопки? (не обновляя страницу). Просто таблица выгружается из базы по заданным параметрам, и после того как админ ее отсортирует в нужном ему порядке, он кликнул на кнопку, этот код выполнится и проставится нормальная нумерация. |
Leon2110,
пример минимальный, структура таблицы, какую хотите получить |
Leon2110,
Цитата:
|
Вот посмотрите на живом примере:
http://doc.kalitva-land.ru/otchet/otchet.html Выберете за прошлый месяц документы (за этот нет еще), живая таблица. В начале на php в цикле цифры проставлялись, теперь благодаря совету убрать +1 на js. Но при клике на шапку, меняем сортировку и данные сбиваются, нужно сделать кнопку для повторного выполнения скрипта, либо чтобы он выполнялся при клике на шапку сортировки. |
Цитата:
|
Ну чтобы увидеть таблицу, нужно на html форме заполнить две даты)
к примеру 20.06.2016 - 30.06.2016 и нажать "Сформировать" Потом запустится php обработчик который вытащит из базы нужные данные. Он выводит их в форме html таблицы, я про эту таблицу имею ввиду всю тему) В ней первая колонка это "номер по порядку" Это будет дорабатываться раздел администратора, в котором он сможет выдавать отчеты и печатать их. ![]() Получилось сюда попасть?) |
Leon2110,
все скрипты выкинуть со страницы поставить только это <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script type="text/javascript" src="jquery.tablesorter.js"></script> <script> $(function() { $("#myTable").tablesorter({ headers: { 0: { sorter: false } } }).on("sortEnd", function() { $(this).find("td:first-child").each(function(i, td) { var number = i + 1; $(td).text(number) }) }).trigger("sortEnd") }); </script> |
рони,
Спасибо о великий рони. Работает даже лучше чем хотелось, без кнопок. Моя радость не знает границ) |
Часовой пояс GMT +3, время: 11:37. |