mam taki kod jsowy i troche html.
JS:
Kod
$(function() {
$("#sortable1, #sortable2").sortable({
update: function(element, ui) {
var d = $(this).attr('class');
var result = $(this).sortable("serialize");
$.post("sort.php",result,function(data){ $("#ser").html(data); }, "text");
//$("#ser").html(result);
}
});
var $tabs = $("#tabs").tabs();
var $tab_items = $("ul:first li",$tabs).droppable({
accept: ".connectedSortable li",
hoverClass: "ui-state-hover",
drop: function(ev, ui) {
var $item = $(this);
var $list = $($item.find('a').attr('href')).find('.connectedSortable');
ui.draggable.hide('slow', function() {
$tabs.tabs('select', $tab_items.index($item));
$(this).appendTo($list).show('slow');
});
}
});
});
$("#sortable1, #sortable2").sortable({
update: function(element, ui) {
var d = $(this).attr('class');
var result = $(this).sortable("serialize");
$.post("sort.php",result,function(data){ $("#ser").html(data); }, "text");
//$("#ser").html(result);
}
});
var $tabs = $("#tabs").tabs();
var $tab_items = $("ul:first li",$tabs).droppable({
accept: ".connectedSortable li",
hoverClass: "ui-state-hover",
drop: function(ev, ui) {
var $item = $(this);
var $list = $($item.find('a').attr('href')).find('.connectedSortable');
ui.draggable.hide('slow', function() {
$tabs.tabs('select', $tab_items.index($item));
$(this).appendTo($list).show('slow');
});
}
});
});
HTML:
Kod
<div id="ser" style="width: 100%; font-size: 15px;">
</div>
<div id="tabs">
<ul>
<li><a href="#tabs-1">Z wakacji</a></li>
<li><a href="#tabs-2">Samochody</a></li>
</ul>
<div id="tabs-1">
<ul id="sortable1" class="connectedSortable ui-helper-reset">
<li class="ui-state-default">Item 1</li>
<li class="ui-state-default">Item 2</li>
<li class="ui-state-default">Item 3</li>
<li class="ui-state-default">Item 4</li>
<li class="ui-state-default">Item 5</li>
</ul>
</div>
<div id="tabs-2">
<ul id="sortable2" class="connectedSortable ui-helper-reset">
<li class="ui-state-highlight">Item 1</li>
<li class="ui-state-highlight">Item 2</li>
<li class="ui-state-highlight">Item 3</li>
<li class="ui-state-highlight">Item 4</li>
<li class="ui-state-highlight">Item 5</li>
</ul>
</div>
</div>
</div>
<div id="tabs">
<ul>
<li><a href="#tabs-1">Z wakacji</a></li>
<li><a href="#tabs-2">Samochody</a></li>
</ul>
<div id="tabs-1">
<ul id="sortable1" class="connectedSortable ui-helper-reset">
<li class="ui-state-default">Item 1</li>
<li class="ui-state-default">Item 2</li>
<li class="ui-state-default">Item 3</li>
<li class="ui-state-default">Item 4</li>
<li class="ui-state-default">Item 5</li>
</ul>
</div>
<div id="tabs-2">
<ul id="sortable2" class="connectedSortable ui-helper-reset">
<li class="ui-state-highlight">Item 1</li>
<li class="ui-state-highlight">Item 2</li>
<li class="ui-state-highlight">Item 3</li>
<li class="ui-state-highlight">Item 4</li>
<li class="ui-state-highlight">Item 5</li>
</ul>
</div>
</div>
Jednak jest problem w tym miejscu :
Kod
var result = $(this).sortable("serialize");
$.post("sort.php",result,function(data){ $("#ser").html(data); }, "text");
$.post("sort.php",result,function(data){ $("#ser").html(data); }, "text");
funkcja serialize nie działa i gdy printuje posta w pliku php (sort.php) dostaje pustego arraya. Co można z tym zrobić, albo jakoś inaczej wydobyć pozycje li po zmianie i przeniesieniu?