[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
자동등록방지 숫자입력

웹개발

번호 제목 글쓴이 날짜 조회수
62 [Linux] CentOS postfix 메일서버 설치 및 설정(sendmail 설정) 최고관리자 12-23 1,433
61 [Ubuntu] 인터넷 연결이 안될 때 최고관리자 12-07 1,239
60 [Apache SSL] Ubuntu 인증서(전자서명) 최고관리자 11-24 1,349
59 [Ubuntu] ssl 임시 인증서 준비 및 발급받기 최고관리자 11-23 1,730
58 [Ubuntu] apache2 환경설정 생성기 최고관리자 11-23 2,950
57 [Ubuntu] apache2 설치 최고관리자 11-23 1,249
56 [vi 편집기] 단축키 최고관리자 11-23 1,174
55 [유용한 블로그] ^^.^^ 최고관리자 11-19 1,181
54 [JS] TimelineJS - 시간의 흐름을 네비게이션화 최고관리자 11-19 1,249
53 [JS] 스크롤을 감지하여 사이트의 헤더를 보이거나 숨기기 최고관리자 11-19 1,380
52 [Linux] NAS Mount 최고관리자 11-12 1,191
51 [React] React활용 최고관리자 11-10 1,228
50 [PHP] exec 실행에 대한 응답코드 최고관리자 11-02 1,576
49 [Linux] Shell Script 최고관리자 10-26 1,480
48 [폰트] 폰트 찾기 사이트 최고관리자 10-21 1,285
47 [통신] Socket packet test Program 최고관리자 10-20 1,768
46 [통신] 맥용 Socket Test Program 최고관리자 10-20 1,551
45 [통신] Mac에서 TCP Socket통신 테스트 하기 최고관리자 10-20 2,821
44 [NginX] 504 Gateway Time-out 에러와 해결방법 +1 최고관리자 10-16 24,485
43 [NginX] 설정 최고관리자 10-13 1,487