С Новым годом! Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/19: Рейтинг темы: голосов - 19, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 09.10.2014
Сообщений: 5

Перемещение строк в таблице JQuery

09.10.2014, 09:33. Показов 4137. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите реализовать перемещение строк в таблице путем перетягивания мышкой.

Имеется админка для наполнения сайта. Имеется таблица категорий которая формируется запросом из базы данных. Каждая категория имеет свою позицию. Нужно чтобы администратор сайта смог менять позицию категории путем перетаскивания строк вверх, вниз.

Я использую плагин Table Drag and Drop JQuery plugin для перемещения строк.

Вот реализация перемещения строк:

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
$("#table-1").tableDnD({
        onDragClass: "dragRow",
        onDrop: function(table, row) { 
            var data = new Object();
            data.data = new Object();
            data.key = $(table).find("tbody tr td").attr("rel");
            $(row).fadeOut("fast").fadeIn("slow");       
            $(table).find("tbody tr").each(function(i, e){
                var id = $(e).find("td:first").attr("id");
                var order = i;
                data.data[order] = id;
                $(e).find("td[rel=sort_order]").html(order);
            });
             
            $.ajax({
        url: "./",
                type: "POST",
                data: data,
                success: function(html){
                    $("#table-1 tr").removeClass("color");
                    $("#table-1 tr:even").addClass("color");
                     
                }                         
            });                   
        }
    });
Строки перемещаются и перенумеровываются.

Не могу понять что передает постом AJAX и как внести изменения в базу данных.

Помогите плиз.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.10.2014, 09:33
Ответы с готовыми решениями:

Перемещение строк в таблице
Всем привет Вывожу таблицу с PHP циклом foreach надо сделать так, что бы можно было двигать все пункты вверх-вниз(можно просто кнопками...

Перемещение объекта в jQuery
Хочу реализовать перемещение объекта с помощью переменной, но не как не получается , что я делаю не так? ...

jQuery перемещение блоков
Есть несколько блоков. По наведению мышки влево или вправо (тоже блоки) - эти блоки должны "ползти" (двигаться) влево и вправо...

3
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
09.10.2014, 09:54
Цитата Сообщение от anipriev Посмотреть сообщение
Не могу понять что передает постом AJAX
Передаёт объект. Почему бы не вывести на экран то, что вам приходит в запросе? Вместо обычного ответа, сделайте такой:
PHP
1
2
3
4
5
6
7
ob_start();
echo '<pre>';
print_r($_POST['data']);
echo '</pre>';
$tmp = ob_get_contents();
ob_end_clean();
exit ($tmp);
В js временно изменяем success:
JavaScript
1
2
3
4
5
success: function(html){
    $('body').append(html);
    //$("#table-1 tr").removeClass("color");
    //$("#table-1 tr:even").addClass("color");
}
Как вариант, можно весь ответ преобразовать в json-строку и записать в файл. Тогда все вышеупомянутые действия можно пропустить, а добавить в обработчик строку:
PHP
1
file_put_contents('tmp_file.txt', json_encode( $_POST['data'] ) );
0
0 / 0 / 0
Регистрация: 09.10.2014
Сообщений: 5
09.10.2014, 10:39  [ТС]
Спасибо за быстрый ответ. Я воспользовался 3-м вариантом. В файле отображается NULL. Мне кажется что чего-то не хватает в скрипте перемещения. Я честно говоря не очень силен в скриптах.

Добавлено через 14 минут
Вот что пишет автор скрипта:
По завершению сортировки скрипт посылает POST запрос на сервер (необходимо в JS коде указать URL скрипта, который будет обрабатывать данные), где и происходит переназначение весов для каждой записи. Для CI сценарий для обработки будет выглядеть так:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
public function change_sort_order(){
    if( empty($_POST['data']) || empty($_POST['key']) ){
        return false;
    }
    extract($_POST);
    if( is_array($data) && sizeof( $data ) > 0 ){
        foreach( $data as $sort_order => $id ){
            $this->db->query("UPDATE `$this->table` SET `sort_order` = '".(int)$sort_order."' WHERE `$key` = '".(int)$id."'");
        }
    }
}
Как эту обработку переделать на php
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
09.10.2014, 15:04
Цитата Сообщение от anipriev Посмотреть сообщение
Как эту обработку переделать на php
Обработка и написана на PHP. Но в первую очередь нужно обратить внимание на то, что вместо данных, вы получаете NULL. Для начала, проверьте в консоли и убедитесь, что данные передаются на сервер.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.10.2014, 15:04
Помогаю со студенческими работами здесь

Св-ва перемещение по таблице
У меня есть запрос в OraQuery есть таблица. Мне надо что бы при перемещении по таблице выполнялось определённое действие. Не подскажите...

Перемещение по таблице (Андроид)
Добрый вечер, подскажите пожалуйста как можно сделать перемещение по TableWidget сдвигом пальца вверх или вниз без использования...

Перемещение кубиков по таблице
Всем привет! Суть задачи такова: есть таблица, в которой есть возможность добавлять и отнимать столбцы и строки (скрин прилагается). ...

Spoiler jQuery в таблице
Доброго вечера! Есть таблица: &lt;table border=&quot;1px&quot;&gt; &lt;tr&gt;&lt;th&gt;Время&lt;/th&gt;&lt;th&gt;Адрес&lt;/th&gt;&lt;th&gt;Параметр&lt;/th&gt;&lt;/tr&gt; ...

Выборка в таблице Jquery
Здравствуйте. Пытаюсь работать с DOM, создаю таблицу и поля из массива txt (результат на картинке): txt = new Array; //Массив...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru