[jQuery] interface > sortable > onChange > SortSerialize Bug

jQuery에 interface 라는 Plugin이 있습니다.
다양한 효과를 내는 Plugin이죠.

이 중 sortable 기능도 제공을 합니다.
근데 이 sortable은 테이블에서 목록 재정렬을 의미하는 sortable이 아니라,
Drag&Drop으로 직접 목록을 컨트롤하는..재정렬이 아닌 “재정의” 개념의 기능입니다. (예제보기)

여기서 목록이 다른 block으로 재정의 되었을때 onChange를 사용하는데, 이 때
처음에 있던 block과, 추가된 block. 즉 변화가 있는 block을 Object로 넘겨줍니다.
이걸 이용해서, 움직인 item이 어디서 어디로 갔는지 알 수 있습니다.

같은 block안에 있을떈 onChange가 실행이 안되어야 하는데 실행이 되는 bug가 있습니다.
그 경우는, SortSerialize를 사용했을 경우인데.
실제로 어디서 어디로 움직였는지 직관적으로 보거나, Ajax를 사용할땐 SortSerialize를 사용해야 편합니다.
그런데 이걸 쓰니, 작동이 안되야 할 상황에서 작동이 돠고, 제대로 된 Object를 넘겨주는게 아니라.엄한 Object를 넘겨 주 더 군요..

어디서 이 Sample Code를 본건지 모르겠지만..Sample Code에서는

function(obj){

serial01 = $.SortSerialize(obj[0]);
serial02 = $.SortSerialize(obj[1]);

}

로 되어 있더군요..
평상시에는 문제가 없지만 언급한대로, 작동이 안되어야 할 상황에서 오작동을 일으키더군요.
해결책은 으외로 간단합니다.

function(obj){

serial01 = $.SortSerialize(obj[0].id);
serial02 = $.SortSerialize(obj[1].id);

}

쩝;;

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중