jQuery sortable (): как показать отсортированный заказ с куки? - PullRequest
0 голосов
/ 30 марта 2012

Мне нужно сохранить сортируемый элемент jQuery в куки в порядке сортировки. Здесь у меня есть код JQuery, который работает. Мне нужно использовать эту же функцию для файлов cookie.

Может ли кто-нибудь сделать это. Я не так хорош в JQuery.

Вот мой настоящий HTML

<ul id="boxes" style="margin-top:5px;">    
    <li id="box1" class="con">
        <div class="drag"></div>
        <p>Box 01</p>   
    </li>
    <li id="box2" class="con">
        <div class="drag"></div>
        <p>Box 02</p>
    </li>
    <li id="box3" class="con">
        <div class="drag"></div>
        <p>Box 03</p>
    </li>
    <li id="box4" class="con">
        <div class="drag"></div>
        <p>Box 04</p>
    </li>
</ul>​

и JQ

   var arrValuesForOrder = ["3", "1", "4", "2"];
    var ul = $("#boxes"),
        items = $("#boxes li.con");

    for (var i = arrValuesForOrder[arrValuesForOrder.length - 1]; i >= 0; i--) {
        // arrValuesForOrder[i] element to move
        // i = index to move element at
        ul.prepend( items.get(arrValuesForOrder[i] - 1));
    }

        $("#boxes").var arrValuesForOrder = ["3", "1", "4", "2"];
    var ul = $("#boxes"),
        items = $("#boxes li.con");

    for (var i = arrValuesForOrder[arrValuesForOrder.length - 1]; i >= 0; i--) {
        // arrValuesForOrder[i] element to move
        // i = index to move element at
        ul.prepend( items.get(arrValuesForOrder[i] - 1));
    }

    $("#boxes").sortable({
        handle : '.drag',
        revert: true ,
        opacity: 0.7,
        placeholder: 'placeholder',
        update: function() {
            var order = $('#boxes').sortable('serialize');
            alert(order);
        }({
            handle : '.drag',
            revert: true ,
            opacity: 0.7,
            placeholder: 'placeholder',
            update: function() {
                var order = $('#boxes').sortable('serialize');
                alert(order);
            } 

Я могу показать вам демо здесь http://jsfiddle.net/sweetmaanu/82r5v/6/

1 Ответ

0 голосов
/ 02 апреля 2012

Я нашел решение с помощью плагина cookie.Здесь проверяется и применяется

$(function(){
    if($.cookie("box_order")){
        var arrValuesForOrder = $.cookie("box_order");
        var ul = $("#boxes"),
        items = $("#boxes li.con");

        for (var i = arrValuesForOrder[arrValuesForOrder.length - 1]; i >= 0; i--) {
            ul.prepend( items.get(arrValuesForOrder[i] - 1));
        }
    }
});

получить идентификатор ящика при сортировке ящиков

$("#boxes").sortable({
        handle : '.drag',
        revert: true ,
        opacity: 0.7,
        placeholder: 'placeholder',
        update: function() {
            var order = $("#boxes").sortable("toArray").join(',').replace(/[a-zA-Z]/gi, "");
            $.cookie("box_order",order, {expires: 365, path: '/'});  
        }
    });
...