0

我有一个框,里面有几个基于表 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;

我不断得到一个空数组。

请帮忙!

4

2 回答 2

0

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

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

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

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

编辑:也看看这个jsfiddle 例子

于 2013-02-04T14:47:47.320 回答
0

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

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

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

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

于 2013-02-04T14:43:13.130 回答