国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

jquery tablesorter.js 支持中文表格排序改進

2024-05-06 14:12:26
字體:
來源:轉載
供稿:網友
代碼: 仿一個網友的代碼寫的,不記得出自哪里了,改成可以支持中文排序,而且支持控件value的排序。 沒辦法,能力有限,只能。。。
代碼如下:
//轉換器,將列的字段類型轉換為可以排序的類型:String,int,float
function convert(sValue, sDataType)
{
switch(sDataType)
{
case "int":
return parseInt(sValue);
case "float":
return parseFloat(sValue);
case "date":
return new Date(Date.parse(sValue));
default:
return sValue.toString();
}
}
// 漢字排序方法
function chrComp(a,b)
{
return a.localeCompare(b);
}
//排序函數產生器
function generateCompareTRs(iCol, sDataType,isinput,sDec)
{
return function compareTRs(oTR1, oTR2)
{
if(isinput == 1)
{
var vValue1 = convert(oTR1.getElementsByTagName("input")[iCol].value);
var vValue2 = convert(oTR2.getElementsByTagName("input")[iCol].value);
}
else
{
var vValue1 = convert(oTR1.cells[iCol].firstChild.nodeValue, sDataType);
var vValue2 = convert(oTR2.cells[iCol].firstChild.nodeValue, sDataType);
}
if(sDec=='desc')
{
if(sDataType=='int')
{
return vValue1 == vValue2 ? 0 :(vValue1 - vValue2 <0 ? 1 : -1);
}
else if(sDataType =='cn')
{
if(chrComp(vValue1,vValue2)>0)
{
return -1;
}
else if(chrComp(vValue1,vValue2)<0)
{
return 1;
}
else
{
return 0;
}
}
else
{
if (vValue1 > vValue2) {
return -1;
} else if (vValue1 < vValue2) {
return 1;
} else {
return 0;
}
}
}
else if(sDec=='asc')
{
if(sDataType=='int')
{
return vValue1 == vValue2 ? 0 :(vValue1 - vValue2 >0 ? 1 : -1);
}
else if(sDataType =='cn')
{
return chrComp(vValue1,vValue2);
}
else
{
if (vValue1 > vValue2) {
return 1;
} else if (vValue1 < vValue2) {
return -1;
} else {
return 0;
}
}
}
};
}
//重置單元格的classname
function ChangeClsName(tr,num)
{
num = num%2?1:2;
num.toString();
for ( var i = 0 ; i < tr.childNodes.length; i ++ )
{
tr.childNodes[i].className = "row" + num
}
}
/*排序方法(主函數)
sTableID 表格的id
iCol表示列索引
1,當不是input類型時,iCol表示的是tr的第幾個td;
2,當是input類型時,則iCol表示在這個tr中的第幾個input;
sDataType表示該cell的數據類型或者該input的value 的數據類型. 默認是string,也可以int, float. cn是中文
isinput表示排序的內容是不是input(1是, 0否)
sDec表示倒序還是順序(desc, 默認順序), 避免出現input值改變之后再排序時候出現直接倒序的情況。
*/
function sortTable(sTableID, iCol, sDataType, isinput, sDec)
{
var oTable = document.getElementById(sTableID);
var oTBody = oTable.tBodies[0];
var colDataRows = oTBody.rows;
var aTRs = new Array;
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 衡水市| 双城市| 嘉善县| 东平县| 商南县| 石柱| 大理市| 通河县| 南昌县| 桂平市| 白银市| 涟水县| 逊克县| 交口县| 泽库县| 柳州市| 驻马店市| 武平县| 宝坻区| 石嘴山市| 淄博市| 太保市| 绥中县| 襄城县| 宜宾县| 聂拉木县| 额济纳旗| 嘉祥县| 武清区| 白水县| 新闻| 陆川县| 文安县| 台前县| 滁州市| 千阳县| 新蔡县| 泸州市| 临沂市| 二连浩特市| 凤冈县|