Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

자기 혐오 개발자

[jQuery] 드래그해서 정렬, 순서조정 본문

Javascript,jQuery

[jQuery] 드래그해서 정렬, 순서조정

올라치노 2018. 5. 28. 19:40

첨부파일, 특히 에디터를 사용해서 올린 파일들의 순서를 바꾸려고 할때, 드래그 해서 바꿀 수 있다.

jquery의 sortable을 사용한다.

옵션중에 stop,start,update 등등 이 있다. 구글하면 더 나옴.


<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

<script>

$(function () {


$( ".부모클래스" ).sortable({

  flow:'horizontal',

  axis: "x",

  revert: false, // Whether the sortable items should revert to their new positions using a smooth animation.

  scroll: false,

  containment: "parent",

  placeholder: "sortable-placeholder",

  cursor: "move",

  cursorAt: { left: 5 },

  sort: function(e, div) {

        $(div.placeholder).html('<img src=\'/경로1/이미지파일.png\' style=\'float:left;\' />'); // 아이템 사이 구부하는 구분자.

  },   

  change: function(event, ui) {

  //alert('change');

  },

  stop: function(e, ui) {

      //alert('stop');

  },

  update: function (event, ui) {

  var arrFileName = new Array();

  // 아이템 추출. ui.item.

  $('.자식클래스').each(function(index){

  var fileName = $(this).attr('파일명');

  arrFileName.push(fileName);

  });

  

      $.ajax({

                type:"POST",

                url:"<c:url value="/순서 변경 내용 DB에 저장"/>",

                data:{"arr_file_name" : arrFileName.toString()},

                dataType:"json",

                success: function (data) {

                    if (data.result > 0) {

                    fnAlert("순서가 변경되었습니다.");

                    }

                    else {

                        fnAlert("순서 변경 처리중 에러가 발생했습니다.\n잠시후 다시 시도해 주세요.");

                    }

                },

                error: function (e) {

                    fnAlert("순서 변경 중 에러가 발생했습니다.\n잠시후 다시 시도해 주세요.");

                }

            });         

  }


});



});

</script>


<style>



 .부모클래스{ position: relative; height:110px; } 

 .부모클래스.자식클래스 { left: 0; float:left; margin-left:2px; margin-right:2px; }

</style>



HTML단


<div class="부모클래스" >

<div class="자식클래스" id="image_0" data-fileName='파일명'>

<img src="" />

</div>

<div class="자식클래스" id="image_1" data-fileName='파일명'>

<img src="" />

</div>

.....

<div class="자식클래스" id="image_6" data-fileName='파일명'>

<img src="" />

</div>

</div>