2012-03-30 3 views
0

Ich muss jQuery sortierbare Artikel in Cookies zu sortierbaren Artikel Reihenfolge speichern. Hier habe ich jQuery Code, der funktioniert. Ich muss diese Funktion auch für Cookies verwenden.jQuery sortierbar(): Wie sortierte Bestellung mit Cookies anzeigen?

Könnte jemand das tun. Ich bin nicht so gut in jQuery.

Hier ist mein Geschenk 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>​ 

und 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); 
      } 

ich Ihnen die Demo hier zeigen kann http://jsfiddle.net/sweetmaanu/82r5v/6/

+0

kann nicht einfach das Plugin jQuery Cookie verwenden und den Befehl serialisiert, um das Ergebnis zu einem Cookie gespeichert wird? – j08691

+0

@ j08691 ja, ich habe es gerade gemacht. Vielen Dank :) – Muhammed

Antwort

0

I-Lösung mit Cookies Plugin gefunden. Hier Überprüfung und

$(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)); 
     } 
    } 
}); 

get Box-ID anwenden, während die Boxen Sortierung

$("#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: '/'}); 
     } 
    });