jQuery UI可排序的序列化或toarray方法-需要的建议

我一直在看

http://jqueryui.com/demos/sortable/#default

大半天.我想使用新值来更新数据库是大多数人想要的.当我使用ASP.NET时,我的想法是使用序列化将新值发送到更新数据库的页面.这是脚本:

<script type="text/javascript">
    jQuery(function() {
    $("#sortable").sortable();
    $("#sortable").disableSelection();
    });
    jQuery(function() {
    $("#sortable li:lt(3)").css("font-weight","bold");
    });
    jQuery(function() {
    $("#cmdUpdateSortOrder").click(function() {
            $(".neworder").append("<br />");
            $("#sortable li.ui-state-default").each(function() {
                $(".neworder").append($(this).text() + "<br />");
            });
            var str = $("#sortable li.ui-state-default").sortable("serialize");
            alert(str);
            var result = $('#sortable li').sortable('toArray');
            alert(result);
        });
    });
</script>

第一个功能来自jQueryUI示例,
第二个功能突出显示前三行,
单击按钮后,第三个功能会将新订单写入页面.
这两个警报都给我:

[object Object]

我希望有一个ID和值对,例如0 = 3& 1 = 2& 2 = 4等.另外,如果有人有更好的方法可以做到这一点,(ajax?),将不胜感激.

最佳答案
这是我解析可排序对象以通过jquery ajax发布到ASP.net MVC控制器操作的方式.

parseRouteRoleIds()可能就是您想要的.我只是在每个sortable()div上都有一个rowId类的隐藏范围.当我渲染页面的那一部分时,我只是将相关的项目键放入跨度中.稍后,当用户准备保存更改时,我只需在parseRouteRoleIds()函数中连接我的ID列表即可.

$.ajax({
  type: 'POST',data: 'reviewCycleSwitchId=' + SWID + '&reviewCycleRoleIdList=' + parseRouteRoleIds(),url:  root + saveRoutesPath,success: function(result) { // something you would do on success }
});

function parseRouteRoleIds() {
    var kys = '';
    $('.usedTiles li').each(function() {
        kys = kys + ',' + $('.rowId',$(this)).html();
    });
    return kys;
}

相关文章

1.第一步 设置响应头 header(&#39;Access-Control-Allow...
$.inArray()方法介绍 $.inArray()函数用于在数组中搜索指定的...
jquery.serializejson.min.js的妙用 关于这个jquery.seriali...
JS 将form表单数据快速转化为object对象(json对象) jaymou...
jQuery插件之jquery.spinner数字智能增减插件 参考地址:http...