jquery 객체 정렬
인터넷에 떠도는 소스 + 자작 소스로 수정좀 했습니다.
원본 출처가 도저히 기억 안나네요 ㅠ.ㅠ;
참고로 조금만 수정하면 테이블 및 기타 객체 정렬도 가능할것입니다.
[code]SercheSort('#SortStandard', 'em');[/code]
#SortStandard = 실제 정렬이 되는 객체의 아이디 또는 클레스를 지정가능합니다.
em = 정렬할 객체입니다.
JQUERY
[code]
<script type="text/javascript">
// html LI 정렬 변경
function SercheSort(id, SortItem){
var SortId = $(id); // 소트 할 객체 변수 지정
var SortListItem = SortId.children('li').get(); // 소트 아이디의 객체 지정
var SortType = $(id+'_SortType');
var SortTypeValue = SortType.val();
SortListItem.sort(function(a, b){
var AItem = $(a).find(SortItem).text().toUpperCase();
var BItem = $(b).find(SortItem).text().toUpperCase();
if(SortTypeValue == 'desc'){
return (BItem < AItem) ? -1 : (BItem > AItem) ? 1 : 0;
}else{
return (AItem < BItem) ? -1 : (AItem > BItem) ? 1 : 0;
}
});
if(SortTypeValue == 'desc'){
SortType.val('asc');
}else{
SortType.val('desc');
}
$(SortId).append(SortListItem);
}
</script>
[/code]
HTML
[code]
<dl>
<h3 class="colbg bg90">종류</h3>
<em class="sort">
<a class="btn btn19" onclick="SercheSort('#SortDivision', 'em');"><h1>이름순 <span class="col">▼</span></h1></a>
<a class="btn btn19" onclick="SercheSort('#SortDivision', 'span');"><h1>매물순 <span class="col">▼</span></h1></a>
</em>
<div>
<ul id="SortDivision">
<li style="display:none"><input id='SortDivision_SortType' value='asc'></li>
<li><em>가이름1</em><span>(7,000)</span></li>
<li><em>이름2</em><span>(6,000)</span></li>
<li><em>나이름3</em><span>(5,000)</span></li>
<li><em>이름4</em><span>(4,000)</span></li>
<li><em>다이름5</em><span>(3,000)</span></li>
<li><em>이름6</em><span>(2,000)</span></li>
<li><em>이름7</em><span>(1,000)</span></li>
</ul>
</div>
</dl>
[/code]
원본 출처가 도저히 기억 안나네요 ㅠ.ㅠ;
참고로 조금만 수정하면 테이블 및 기타 객체 정렬도 가능할것입니다.
[code]SercheSort('#SortStandard', 'em');[/code]
#SortStandard = 실제 정렬이 되는 객체의 아이디 또는 클레스를 지정가능합니다.
em = 정렬할 객체입니다.
JQUERY
[code]
<script type="text/javascript">
// html LI 정렬 변경
function SercheSort(id, SortItem){
var SortId = $(id); // 소트 할 객체 변수 지정
var SortListItem = SortId.children('li').get(); // 소트 아이디의 객체 지정
var SortType = $(id+'_SortType');
var SortTypeValue = SortType.val();
SortListItem.sort(function(a, b){
var AItem = $(a).find(SortItem).text().toUpperCase();
var BItem = $(b).find(SortItem).text().toUpperCase();
if(SortTypeValue == 'desc'){
return (BItem < AItem) ? -1 : (BItem > AItem) ? 1 : 0;
}else{
return (AItem < BItem) ? -1 : (AItem > BItem) ? 1 : 0;
}
});
if(SortTypeValue == 'desc'){
SortType.val('asc');
}else{
SortType.val('desc');
}
$(SortId).append(SortListItem);
}
</script>
[/code]
HTML
[code]
<dl>
<h3 class="colbg bg90">종류</h3>
<em class="sort">
<a class="btn btn19" onclick="SercheSort('#SortDivision', 'em');"><h1>이름순 <span class="col">▼</span></h1></a>
<a class="btn btn19" onclick="SercheSort('#SortDivision', 'span');"><h1>매물순 <span class="col">▼</span></h1></a>
</em>
<div>
<ul id="SortDivision">
<li style="display:none"><input id='SortDivision_SortType' value='asc'></li>
<li><em>가이름1</em><span>(7,000)</span></li>
<li><em>이름2</em><span>(6,000)</span></li>
<li><em>나이름3</em><span>(5,000)</span></li>
<li><em>이름4</em><span>(4,000)</span></li>
<li><em>다이름5</em><span>(3,000)</span></li>
<li><em>이름6</em><span>(2,000)</span></li>
<li><em>이름7</em><span>(1,000)</span></li>
</ul>
</div>
</dl>
[/code]
|
댓글을 작성하시려면 로그인이 필요합니다.
로그인
댓글 5개
if(a > b) {
return 1;
} else if(a < b) {
return -1;
} else {
return 0;
}
어느쪽이 더 효율적인지는 모르겠네요...
function 으로는 이렇게 되네요...
this.sort (function (a, b) {
a = a[0];
b = b[0];
return a < b ? -1
: a > b ? 1
: 0;
}
주워온소스+직접 짠 소스가 섞이다보니 ~~
감사합니다.
php header 를 중복해 넣는 것도 할줄 몰라서 (헤더 중복하면 header already sent... 어쩌고 저쩌고 에러메세지 뜨잖아요.)
그래서 막 자스를 php 에 비빔밥 처럼 섞어 넣고
if () {
print '<script>자스</script>';
} else {
if () {
print '<script>자스</script>';
얼마전까지 이랬는데요... ㅋㅋㅋㅋ (누가 소스코드 라도 보면 개쪽팔린...)
이거 한줄
exit();
이거 한줄을 넣을줄 몰라서 바로 며칠전까지도 이런 퐌타스틱한 php + 자스 비빔밥 코딩을 했던 개초보라는.. ㅋㅋㅋㅋㅋ
요즘 19살짜리 스승님을 만나서 열심히 php 공부도 하고, 리눅스 공부도 하고, ngnix 서버 공부도 하는 새싹입니다. 부끄 부끄..
무언가 배운다는거 솔직히 모르는건 모른다고해야 하나라도 더 배우는거 같아요!!
배움에는 나이도 큰 상관이 없고 열정이 얼마나 있냐가 중요한거 아니겠습니다 ^^