모든

2014-12-07 1 views
0

오후 정렬 가능한 및 쿠키와 쿠키에서 DIV를 분류하기.모든

div의이 전환 될 때 나는 '주문'의 쿠키 값을 설정하려면 다음 코드를 사용 할 수있었습니다 : div의 변경 후

$(function() 
     { 
      $("#sort").sortable({ 
       containment: "parent", 
       placeholder: "ui-state-highlight", 
       opacity: 0.7, 
       cursor: "move", 
       update: function(event, ui) { 
        $.cookie("ordering", $('#sort').sortable("toArray"), {expires: 365, path: '/'}); 
       } 
      }); 
     }); 

나는 쿠키를 확인하고 순서가 변경 쿠키

그러나 페이지를로드 할 때 div는 원래 위치에 있습니다.

내가 jQuery UI Sortable and Cookie에보고했고 변화가 제안 구현하기 위해 노력하고 내가 방화범 볼 때 내용의 오류를 발생했습니다 :

"오류 : 메서드를 호출 할 수 없습니다 정렬 초기화와 이전;에 시도 메소드 호출 'toArray' 새 오류 발생 (msg); "

내가 어디로 잘못 가고 있는지 확실하지 않습니다.

이 내가 상관없이 내가 뭘 새로운 질서

function restoreOrder() 
     { 
      var list = $("#sort"); 
      var cookie = $.cookie("ordering"); 
      var cid = cookie.split(","); 
      var items = list.sortable("toArray"); 
      console.log(cid); 

      var rebuild = new Array(); 
      for (var v=0; len=items.length; v<len) 
      { 
       rebuild[items[v]] = items[v]; 
      } 

      for (var i=0, n=cid.length; i<n; i++) 
      { 
       var iid = cid[i]; 
       if (iid in rebuild) 
       { 
        var item = rebuild[iid]; 
        var child = $("ul.ui-sortable").children("#" + item); 
        var savedOrd = $("ul.ui-sortable").children("#" + iid); 
        child.remove() 
        $("ul.ui-sortable").filter(":first").append(savedOrd); 
       } 
      } 
     } 

     // code executed when the document loads 
     $(function() { 
      restoreOrder(); 
     }); 

의 쿠키의 읽기 및 설정을 위해이없는 무엇, 그것은 예외를 던졌습니다 및 쿠키를 읽을 수 있도록 허용하지 않습니다.

여기

<div id="iptc-sort"> 
      <div class="caption"><h3></h3><p>IPTC Information</p></div> 
      <div class="contentbox"> 
       {iptc_info} 
      </div> 
      <div class="contentbottom"></div> 
      <br/> 
     </div> 

     <div id="exif-sort"> 
      <div id="exifinfo" class="caption"><h3><i class="fa fa-fw fa-2x fa-plus-square-o"></i></h3><p>EXIF Information</p></div> 
      <div id="exif" class="contentbox"> 
       {exif_info} 
      </div> 
      <div class="contentbottom"></div> 
      <br/> 
     </div> 

     <div id="gmap-sort"> 
      <div id="mapinfo" class="caption"><h3><i class="fa fa-fw fa-2x fa-plus-square-o"></i></h3><p>Map Information</p></div> 
      <div id="map" class="contentbox"> 
       <table width="100%"> 
        <tr> 
         <td class="google"> 
          <div id="map_canvas" class="map_canvas"></div> 
          {google_map} 
         </td> 
        </tr> 
       </table> 
      </div> 
      <div class="contentbottom"></div> 
      <br/> 
     </div> 

질문

에서 div의 일부 뭔가 내가 놓친 거지 간단한 있나요입니까? 나는

답변

0

내가

/* Set Cookie */ 
     var sortablelistSelector = "#sort"; 
     var sortablelistCookieName = "ordering"; 
     var sortablelistCookieExp = 365; 
     function sortablelistOrder() 
     { 
      $.cookie(sortablelistCookieName, $(sortablelistSelector).sortable("toArray"), {expires: sortablelistCookieExp, path: "/"}); 
     } 
     function sortablelistRestoreOrder() 
     { 
      var i, previousorder, cookie = $.cookie(sortablelistCookieName); 
      if (!cookie) 
      { 
       return; 
      } 
      previousorder = cookie.split(','); 
      for (i = 0; i < previousorder.length; i++) 
      { 
       $('#'+previousorder[i]).appendTo($(sortablelistSelector)); 
      } 
     } 

     /* Read Cookie */ 
     $(function() 
     { 
      $(sortablelistSelector).sortable(
      { 
       cursor: "move", 
       containment: "parent", 
       placeholder: "ui-state-highlight", 
       opacity: 0.7, 
       update: function(event, ui) 
       { 
        sortablelistOrder(); 
       } 
      }); 
      sortablelistRestoreOrder(); 
     }); 
그것을 조정의 몇 시간 후 그것을 해결하기 위해 관리 내가 사전에 아이 savedOrd에

감사를 사용하는 클래스의 이름을 변경해야합니다 이해

관련 문제