jQueryUI SortableでconnectWithを使ってserializeする方法


jQuery UIのSortableでconnectWithの複数のsortableを指定するとserializeがnullになります。その時は下記のmethodを実装するだけで簡単にserializeが可能になります。

(function($) {
    $.fn.serialize = function() {
        var array = [];
        var $elem = $(this);
        $elem.each(function(i) {
            var parent_id = $(this).attr('id');
            $('li', this).each(function(e) {
                array.push('[' + parent_id + ']=' + this.id);
            });
        });
        return array.join('&');
    }
})(jQuery);
$(function() {
    $("ul.sortable").sortable({
        connectWith: '.sortable',
        update: function(event, ui) {
        var position = $('.sortable').serial();
        alert( position );
        }
    });
});

参考:
http://stackoverflow.com/questions/2936999/howto-serialize-multiple-lists-with-jquery

  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です