我使用jquery.Works创建了一个拖放顺序列表。 我的问题是如何发送数据。我正在使用POST而不能改变它。
如何保持相同的列表顺序与另一个数组进行比较?
示例我的PHP代码
foreach ($row_array as $row_array) {
echo '<li class="ui-state-default" id="menu_' . $rowid . '"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>' . $row_array . "</li>\n";
}
现在随着事情的拖延,身份被混淆了。我需要以有序/可预测的方式提交新订单。
也 数据是串行还是并行发送的?那只是为了我自己的好奇心。
感谢您的任何建议。
以下是运行时显示的内容。
<ul id="sortable" class="ui-sortable">
<li id="menu_1" class="ui-state-default"></li>
<li id="menu_2" class="ui-state-default"></li>
<li id="menu_3" class="ui-state-default"></li>
<li id="menu_4" class="ui-state-default"></li>
<li id="menu_5" class="ui-state-default"></li>
<li id="menu_6" class="ui-state-default"></li>
以及需要通过POST提交的内容,最好是在php。
<li id="menu_4" class="ui-state-default" style=""></li>
<li id="menu_1" class="ui-state-default" style=""></li>
<li id="menu_2" class="ui-state-default"></li>
<li id="menu_5" class="ui-state-default" style=""></li>
<li id="menu_3" class="ui-state-default"></li>
<li id="menu_6" class="ui-state-default"></li>
我对此很陌生,但对此感到满意。
答案 0 :(得分:0)
您需要使用此功能http://api.jqueryui.com/sortable/#method-toArray
我会做这样的事情:
$("#sortable").sortable({
stop: function(event, ui) {
var result = $(this).sortable('toArray'); //not sure about "this" here, but probably should work
$('#some-hidden-element').val(result);
}
})
每次拖动后,将调用匿名函数并将sort保存在隐藏元素中,并在表单上提交正确的顺序将在该隐藏元素中。