window.onload = function() { Sortable.create('thelist1', { containment:['thelist1','thelist2', 'thelist3'], constraint:false, dropOnEmpty:true } ); //tabelka wyników Sortable.create('thelist2', { containment: ['thelist1','thelist2','thelist3'], constraint: false, dropOnEmpty: true } ); Sortable.create('thelist3', { containment:['thelist1','thelist2', 'thelist3'], constraint:false, dropOnEmpty:true } ); } //tala duża funkcja function calosc() { //sort2 new Ajax.Updater ( 'result', 'sort.php', { postBody: Sortable.serialize('thelist3') } ); //sort2 new Ajax.Updater ( 'tabelka', 'sort.php', { postBody: Sortable.serialize('thelist2') } ); }
Niestety rozwiązanie ma tą wadę, gdyż aktualizuje się dwukrotnie poprzez wywołanie Ajax.Updater. Więc próbowałem za pomocą jednego poprzez wskazanie parametrów to przesywałania. Miało to tworzyć stringi z posortowanymi wartościami. Jednak zwracało jedynie pierwszy element z sortowania:/
new Ajax.Request ( url, { method: 'post', postBody: 'first=' + Sortable.serialize('thelist2') + '&second=' + Sortable.serialize('thelist3'), } );
I w obliczu tych faktów mam pytania:) spotkał się ktoś może z tym przypadkiem, że przesyła tylko pierwszy element sortowania? I czy możliwe byłoby przesyłanie w pojedynczym Ajax.Update więcej niż jeden taki postBody - łatwiej się obsługuje takie wygenerowane tablice z posortowanymi danymi
