[JavaScript] JQuery를 이용한 Drag Drop 리스트 순서변경


dd8b9164e328f2c1e534e53b6016b8cd.png
위 리스트 형태를 드래그 드랍을 이용하여 순서를 변경할 수 있다.


ul 과 li 태그는 그대로 사용하는 것이 무방하다. ^.^


//Drag Drop 순서 바꾸기를 위한 태그

$irDataHtml .= '<div style="display:none;"><input class="disp-order" data-id="'.$irData['no'].'" data-order="'.$irDispIdx.'" data-reorder="'.$irDispIdx.'" value="'.$irData['no'].'-'.$irDispIdx.'"></div>';


실제 DB에 order를 저장하고 다음에는 Query시 Order ASC 형태로 쿼리하면 된다.

<script>
// Drag Drop 순서 바꾸기
$(function (){
$('#ir-data-list').sortable({
stop: function (event, ui) {
reorder();
}
});
$('#ir-data-list').disableSelection();
});

function reorder() {
$("#ir-data-list .ir-data-wrapper").each(function(i, box) {
var li_target = $(box).find(".disp-order");
var li_order = li_target.data('id') + '=' + (i+1);
li_target.data('reorder',(i+1));
li_target.val(li_order);
$('[data-action="reorderUpdate"]').css('display','block');
});
}

$('[data-action="reorderUpdate"]').on('click', function (e) {

var orderUpdateInfo = '';
var li_target ,li_order;
$("#ir-data-list .disp-order").each(function() {
li_target = $(this);
li_order = li_target.data('order');
if (li_order != li_target.data('reorder')) {
orderUpdateInfo += (li_target.val() + ',');
}
});

alert(orderUpdateInfo);

var sO = new Object();
sO.cmd = 'ir.list.order.update';

sO.orderUpdateInfo = orderUpdateInfo;
console.log(sO);
var url = "<?php echo site_url('IpsAjax/apiCall'); ?>";
___ajax(url,sO,0,null);
});
</script>
0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기
captcha
자동등록방지 숫자입력

웹개발

번호 제목 글쓴이 날짜 조회수
102 [Git] git switch branch명 결과를 ftp로 업로드 하려면 최고관리자 06-02 10,267
101 [Git] git switch branch명 에서 바뀐파일(modifed File) 확인 최고관리자 06-02 4,579
100 [MySql] 테이블 내용 복사하기(인덱스 키 추가하기) 최고관리자 05-24 2,596
99 [Android] 안드로이드에서 PDF 미리보기가 안되는 이유 최고관리자 04-28 3,367
98 [PHPOffice] PHP 8.0 에서 PHPOffice 엑셀저장이 안되는 경우 최고관리자 04-26 1,652
97 [Javascript] window.location Value 최고관리자 04-18 1,590
96 [Git] git clone 과 git pull 의 차이점 최고관리자 04-14 1,308
95 [Git] 특정폴더만 pull 하기 최고관리자 04-14 1,318
94 [Upload] Nginx + PHP7.4 Upload 설정 최고관리자 04-10 1,200
93 [https] Certbot을 활용한 HTTPS 적용과 리다이렉트(ubuntu-nginx) 최고관리자 04-02 9,463
92 [Linux] Bash 명령어 활용 최고관리자 03-26 1,582
91 [MySQL] 중복 데이타 삭제하기 최고관리자 03-16 2,348
90 [Git] 중앙 원격 저장소, 자신의 원격 저장소, 로컬 저장소의 개념 최고관리자 03-01 1,416
89 [GitHub] Git 브랜치의 종류 및 사용법 (5가지) 최고관리자 03-01 1,366
88 Git 한글 메뉴얼 최고관리자 02-25 1,282
87 ERROR 1698 : Access denied for user 'root'@'localhost' 문제 해결 최고관리자 02-24 1,317
86 NGINX + PHP71 + PHP-FPM 설치하기 최고관리자 02-23 1,199
85 (function() { })() 의 의미는? 최고관리자 02-16 1,303
84 [참고] 부트스트랩(bootstrap) 사이트 개발 최고관리자 10-09 1,628
83 [JS] 디바운스(Debounce)와 스로틀(Throttle ) 그리고 차이점 최고관리자 09-14 1,828