Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.09.2011, 20:41
Новичок на форуме
Отправить личное сообщение для GlooMMy Посмотреть профиль Найти все сообщения от GlooMMy
 
Регистрация: 19.09.2011
Сообщений: 6

ajax, js, drag&drop,
Добрый день.
Перетаскиваю строки таблицы с помощью
<script type="text/javascript">
        $(document).ready(function() {
        $("#table-2").tableDnD();
        $('table').tableDnD({
        onDrop: function(table, row) {
                alert($('table').tableDnDSerialize());
            },
            dragHandle: "dragHandle"
        });
	});
    </script>


Как сохранить порядок строк после перетаскивания? Желательно на ajax.
Ответить с цитированием
  #2 (permalink)  
Старый 19.09.2011, 21:08
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

при чем тут аякс ?
Ответить с цитированием
  #3 (permalink)  
Старый 20.09.2011, 09:51
Новичок на форуме
Отправить личное сообщение для GlooMMy Посмотреть профиль Найти все сообщения от GlooMMy
 
Регистрация: 19.09.2011
Сообщений: 6

Мне нужно чтобы на ajax было, но и от варианта на js я не откажусь
Ответить с цитированием
  #4 (permalink)  
Старый 20.09.2011, 10:00
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

ясно. тогда прочитайте, что такое ajax, и что такое JS и поймите разницу.
Ответить с цитированием
  #5 (permalink)  
Старый 20.09.2011, 10:04
Новичок на форуме
Отправить личное сообщение для GlooMMy Посмотреть профиль Найти все сообщения от GlooMMy
 
Регистрация: 19.09.2011
Сообщений: 6

Ответа нет?
Ответить с цитированием
  #6 (permalink)  
Старый 20.09.2011, 10:08
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

если строки в таблице можно как-то различить друг от друга ( ID ), то можно сделать через cookies || localStorage. иначе - "через ajax", если сервер будет в указанном порядке выводить строки таблицы
Ответить с цитированием
  #7 (permalink)  
Старый 20.09.2011, 11:26
Новичок на форуме
Отправить личное сообщение для GlooMMy Посмотреть профиль Найти все сообщения от GlooMMy
 
Регистрация: 19.09.2011
Сообщений: 6

Нашел пример
<script type="text/javascript">
$(document).ready(function(){
// ---------
$("#table-1").tableDnD({
  onDragClass: "dragRow",
  onDrop: function(table, row) {
    var rows = table.tBodies[0].rows;
    var messageString = "Перемещена строка " + row.id + "<br />Новый порядок сортировки: ";
    for (var i=0; i<rows.length; i++) {
      messageString += rows[i].id + " ";
    }
    $("#messageArea").html(messageString);
    $("#table-1").find("tr[@id='"+ row.id +"']").fadeOut(700, function () {
      $(this).fadeIn(300);
    });
  },
  onDragStart: function(table, row) {
    $("#messageArea").html("Перемещаем строку " + row.id);
  }
});
});
</script>

в нем выводится список в messageArea
У меня два столбца position и id. Подскажите как мне сохранить это в массив для последующей обработки, чтобы я мог потом обратиться к этому массиву. Если можно, то приведите пример кода. В принципе мне наверное нужен только список id в новой последовательности.
Спасибо.

добавил
var arr = new Array;
//сохраняю список
for (var i=0; i<rows.length; i++) {
      arr = rows[i].id;
    }

как потом достучаться до этого массива из другого места?

Последний раз редактировалось GlooMMy, 20.09.2011 в 11:39.
Ответить с цитированием
  #8 (permalink)  
Старый 20.09.2011, 13:58
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

передать функции, сделать глобальной переменной или передать php-скрипту
Ответить с цитированием
  #9 (permalink)  
Старый 20.09.2011, 14:30
Новичок на форуме
Отправить личное сообщение для GlooMMy Посмотреть профиль Найти все сообщения от GlooMMy
 
Регистрация: 19.09.2011
Сообщений: 6

у меня не php, а asp, но это не важно. Как сделать глобальной?
Я вот думал таблицу заполнить этими данными, а потом считать из таблицы или так плохо?
как с помощью ajax сделать autopostback?

наверное что-то похожее будет:
$.ajax({
            type: "POST",
             url: "table-dnd-example.php",
             timeout: 5000,
             data: "w=" + w,
             success: function(data){$("div#upd-dnd").html(data);},
             error: function(data){$("div#upd-dnd").html("Error");}
         });

Последний раз редактировалось GlooMMy, 20.09.2011 в 14:49.
Ответить с цитированием
  #10 (permalink)  
Старый 20.09.2011, 17:18
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

нэээт

не так.

логика такая :

при первой загрузке страницы выводим таблицу в обычном порядке (пронумерованном - 1,2,3,4)

когда передвинули элемент (драг), отсылаем ajax-запрос в скрипту php, который изменяет порядок строк. как это делать - домашее задание *

при следующей загрузке страницы выводим строки таблицы в новом порядке ( 1,3,2,4, напрмиер)

__________
* можно запоминать состояние по-другому, используя более быстрые способы : куки, например.

а php уже прочитывает эти куки и выводит в определенном порядке строки таблицы
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вакансия: Front-end разработчик (HTML, CSS, JS, Ajax, jQuery) ivankov Работа 0 05.10.2010 19:00
Передача переменной из JS в PHP методом ajax skalka jQuery 7 28.08.2010 12:05
Что выбрать XML или JSON для передачи Ajax - ом из PHP в JS Gozar Общие вопросы Javascript 20 16.08.2009 23:36
Ajax. Полноценная подгрузка страниц, содержащих CSS и JS. Alex22 AJAX и COMET 6 05.11.2008 23:53
ajax запрос с подгружемным js HelpeR AJAX и COMET 1 27.10.2008 12:44