Javascript 如何更改jquery ui可排序返回的内容?
我有一个CMS,允许我的用户按jQueryUI排序菜单 jquery ui返回什么? 我使用了以下代码: JavaScript: html: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
echo'
”;
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