Jquery可排序小部件

时间:2013-02-04 14:36:14

标签: php jquery jquery-ui-sortable

我有一个包含几个条目的框,基于表的ID:

 <ul id="sortable">
 <?php do { ?> <li class="ui-state-default" id="<?php echo $row_Recordset1['entry']; ?>">
     <?php echo $row_Recordset1['PartNo']; ?></li>
 <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>

我已经定义了可排序的jQuery:

 $(function() { 
   $( "#sortable" ).sortable();
 });
 var newp = $("#sortable" ).sortable('toArray');

我想要做的只是将数组传递到数据库录制过程中的下一页:

window.location.href = "quotations_build_itemsorder2.php?newp[]="+newp;

我一直在拿一个空数组。

帮助....拜托!

2 个答案:

答案 0 :(得分:0)

由于newp已经是一个数组,因此您不会将其作为newp[]传递,而只是newp

此外,toArray返回一个数组(大概),而不是字符串。您无法将其连接到字符串。处理此问题的最简单方法是将其转换为JSON:

"...?newp=" + JSON.stringify(newp)

然后你可以使用json_decode在PHP端获取你的数组。

答案 1 :(得分:0)

看一下sortable("serialize")方法:

var newp = $("#sortable").sortable( "serialize" )

您必须根据serialize方法所需的格式重命名列表项的ID(请参阅文档)。像这样:

<?php do { ?> <li class="ui-state-default" id="sort_<?php echo $row_Recordset1['entry']; ?>">

编辑:另请查看此jsfiddle example