Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何更改jquery ui可排序返回的内容?_Javascript_Jquery_Jquery Ui_Jquery Ui Sortable - Fatal编程技术网

Javascript 如何更改jquery ui可排序返回的内容?

Javascript 如何更改jquery ui可排序返回的内容?,javascript,jquery,jquery-ui,jquery-ui-sortable,Javascript,Jquery,Jquery Ui,Jquery Ui Sortable,我有一个CMS,允许我的用户按jQueryUI排序菜单 jquery ui返回什么? 我使用了以下代码: JavaScript: html: echo'; $i=0; while($row=mysql\u fetch\u array($result\u select\u menu)){ $i++; echo“”.$row['title'.] '; } 回声“”; javascript就是这么说的: li[]=2&li[]=1&li[]=3&li[]=4&li[]=5&li[]=6&l

我有一个CMS,允许我的用户按jQueryUI排序菜单

jquery ui返回什么?

我使用了以下代码:

JavaScript:

html:

echo'
    ; $i=0; while($row=mysql\u fetch\u array($result\u select\u menu)){ $i++; echo“
  • ”.$row['title'.]
  • '; } 回声“
”;

javascript就是这么说的:

li[]=2&li[]=1&li[]=3&li[]=4&li[]=5&li[]=6&li[]=7&li[]=8&li[]=9&li[]=10&li[]=11&li[]=12&li[]=13&li[]=14

我需要知道哪个李有什么号码。 像这样:

li[1]=2&li[2]=1&li[3]=4&li[5]=5&li[6]=6&li[7]=7&li[8]=8&li[9]=9&li[10]=11&li[12]=12&li[13]=13&li[14]=14


我的另一个问题是:我可以更改序列化返回的内容吗,例如序列化返回li[]=1,但我需要说li[1]=1

开箱即用:不,你不能这样做
sortable.serialize()
返回根据中的规范格式化的字符串。开箱即用的最接近的方法是使用
sortable.toArray()
JSON.stringify()
JSON.parse()

至于手动操作,由于这一切正常,并且只包含
li
s,因此将其转换为您所需的格式并不困难:

var data = $(this).sortable('serialize');
var i = 0;
while(data.indexOf("li[]") !== -1) {
    data = data.replace(/li\[\]/, "li[" + (i++) + "]");
}
这将把您的第一个字符串转换为

li[0]=2&li[1]=1&li[2]=3&li[3]=4&li[4]=5&li[5]=6&li[6]=7&li[7]=8&li[8]=9&li[9]=10&li[10]=11&li[11]=12&li[12]=13&li[13]=14


请记住,您需要自己维护它,这只是在您绝对需要保留数组索引的情况下。

有一些方法可以做到这一点,我认为您应该使用序列化,然后通过Ajax将其发送到服务器端页面


这是一个很好的答案

@ArunPJohny这是我的html
var data = $(this).sortable('serialize');
var i = 0;
while(data.indexOf("li[]") !== -1) {
    data = data.replace(/li\[\]/, "li[" + (i++) + "]");
}
li[0]=2&li[1]=1&li[2]=3&li[3]=4&li[4]=5&li[5]=6&li[6]=7&li[7]=8&li[8]=9&li[9]=10&li[10]=11&li[11]=12&li[12]=13&li[13]=14