首頁 > web前端 > js教程 > JavaScript進階程式設計 閱讀筆記(十九) js表格排序_javascript技巧

JavaScript進階程式設計 閱讀筆記(十九) js表格排序_javascript技巧

WBOY
發布: 2016-05-16 17:50:51
原創
935 人瀏覽過

排序代碼

複製代碼 代碼如下:


this.oTable=document.getElementById(sTableID);
this.oTBody=this.oTable.tBodies[0];
this.colDataRows=this.oTBody.rows;
this.aTRs= [];
this.iCol=iCol;
this.sDataType=sDataType;
}
SortTable.prototype={
convert:function(sValue, sDataType){
switch( sDataType){
case "int":
return parseInt(sValue);
case "float":
return parseFloat(sValue);
case "date":
回傳新的Date(sValue);
預設:
回傳sValue.toString();
}
},
generateCompareTRs:function(iCol, sDataType, that){
回傳函數(oTR1,oTR2){
var vValue1= that.convert(oTR1.cells[iCol) ].firstChild.nodeValue, sDataType),
vValue2= that.convert(oTR2.cells[iColno].firstChild.nodede , sDataType);
if(vValue1 回傳-1;
} else if(vValue1 > vValue2){
return 1;
} 其他{
回傳0 ;
}
};
},
sort:function(){
for(var i=0,l=this.colDataRows.length;ithis.aTRs.push(this. colDataRows[i]);
}
if(this.oTable.sortCol === this.iCol){
this.aTRs.reverse();
} else {
this.aTRs.sort(this.generateCompareTRs(this.iCol, this.sDataType, this));
}
var oFragment=document.createDocumentF 但forment(); (var i=0,l=this.aTRs.length;ioFragment.appendChild(this.aTRs[i]);
}
this.oTBody.appendChild(oFragment (程式碼


程式碼如下:

函數bindSortTable(sTableID, iCol, sDataType){
var table=document.getElementById(sTableID),
var table=document.getElementById(sTableID), }
}
window.onload=function(){
bindSortTable("tblSort", 0);
bindSortTable("tblSort",1);
bindSortTable("tblSort",2,"int");
bindSortTable("tblSort",3,"float");
bindSortTable("tblSort",3,"float");
bindSortTable("tblSort",4,"日期");
}


完整示範:







JSCode 示範


來源:http://artwl.cnblogs.com
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板