【问题标题】:How to change what jquery ui sortable return?如何更改 jquery ui 可排序返回的内容?
【发布时间】:2014-08-07 11:21:19
【问题描述】:

我有一个 CMS,让我的用户可以通过 jquery ui sortable 对菜单进行排序。

jquery ui 返回什么?

我使用了这个代码:

JavaScript:

$( "#menuUl" ).sortable({
    update: function (event, ui) {
        var data = $(this).sortable('serialize');
        console.log(data);
     }
})

html:

echo '<ul id="menuUl">';
    $i=0;
    while($row=mysql_fetch_array($result_select_menu)){
        $i++;
        echo '<li name="asdsad" id="li-'.$row['menu_id'].'" class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>'.$row['title'].'<input type="hidden" value="" id="hidden-'.$row['menu_id'].'" class="hiddenClass" name="id['.$row['menu_id'].']"/></li>
        ';    
    }
    echo '</ul>';

这就是 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 有什么数字。 像这样:

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

我的另一个问题是这样的:我可以改变什么序列化返回,例如序列化返回li[]=1,但我需要说li[1]=1

【问题讨论】:

  • @ArunPJohny 这是我的 html

标签: javascript jquery jquery-ui jquery-ui-sortable


【解决方案1】:

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

这对你来说是个好答案write order into database

【讨论】:

    【解决方案2】:

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

    至于手动操作,因为这一切都井井有条,并且只包含lis,所以将其转换为您想要的格式并不难:

    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
    

    请记住,您需要自己维护它,并且仅适用于您绝对需要保留数组索引的情况。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-14
      • 2010-11-20
      • 1970-01-01
      • 2014-03-23
      • 2015-06-11
      • 1970-01-01
      • 2011-08-27
      相关资源
      最近更新 更多