//鎺掑簭 function sortAble(tableId, iCol, dataType) { iCol = iCol - 1; //鎺掑簭涓婁笅寤烘牱寮 var spanId = $("#"+tableId).find("th").eq(iCol).children('div.sortable'); $("#"+tableId).find("th").eq(iCol).siblings().children("div.sortable").removeClass("desc asc"); if(spanId.hasClass("desc")){ spanId.removeClass("desc").addClass("asc"); }else if(spanId.hasClass("asc")){ spanId.removeClass("asc").addClass("desc"); }else{ spanId.addClass("desc"); } //var table = $(tableId).parents("table"); var table = document.getElementById(tableId); var tbody = table.tBodies[0]; var colRows = tbody.rows; var aTrs = new Array; //灏嗗皢寰楀埌鐨勫垪鏀惧叆鏁扮粍锛屽鐢 for (var i=0; i < colRows.length; i++) { aTrs[i] = colRows[i]; } //鍒ゆ柇涓婁竴娆℃帓鍒楃殑鍒楀拰鐜板湪闇€瑕佹帓鍒楃殑鏄惁鍚屼竴涓€ if (table.sortCol == iCol) { aTrs.reverse(); } else { //濡傛灉涓嶆槸鍚屼竴鍒楋紝浣跨敤鏁扮粍鐨剆ort鏂规硶锛屼紶杩涙帓搴忓嚱鏁 aTrs.sort(compareEle(iCol, dataType)); } var oFragment = document.createDocumentFragment(); for (var i=0; i < aTrs.length; i++) { oFragment.appendChild(aTrs[i]); } tbody.appendChild(oFragment); //璁板綍鏈€鍚庝竴娆℃帓搴忕殑鍒楃储寮 table.sortCol = iCol; } //灏嗗垪鐨勭被鍨嬭浆鍖栨垚鐩稿簲鐨勫彲浠ユ帓鍒楃殑鏁版嵁绫诲瀷 function convert(sValue, dataType) { switch(dataType) { case "int": if(sValue=="--")sValue = 0; return parseInt(sValue); case "float": if(sValue=="--")sValue = 0; return parseFloat(sValue); case "date": return new Date(Date.parse(sValue)); case "str": return sValue.toString().length; default: return sValue.toString(); } } //鎺掑簭鍑芥暟锛宨Col琛ㄧず鍒楃储寮曪紝dataType琛ㄧず璇ュ垪鐨勬暟鎹被鍨 function compareEle(iCol, dataType) { return function (oTR1, oTR2) { var vValue1 = convert(ieOrFireFox(oTR1.cells[iCol]), dataType); var vValue2 = convert(ieOrFireFox(oTR2.cells[iCol]), dataType); if (vValue1 > vValue2) { return -1; } else if (vValue1 < vValue2) { return 1; } else { return 0; } }; } function ieOrFireFox(ob) { if (ob.textContent != null) return ob.textContent; var s = ob.innerText; return s.substring(0, s.length); } //鍒楄〃鏍煎紡鍖 function dataFormat(tableClass,i){ if($("."+tableClass).length>0){ $("."+tableClass+" tr").each(function(){ var text = $(this).find("td").eq(i).text().replace(/%/g, "").replace(/,/g,''); if(text!="--"){ if(text < 0){ $(this).find("td").eq(i).addClass("color_green"); }else{ $(this).find("td").eq(i).addClass("color_red"); } } }) } } //鏁板瓧鏍煎紡鍖 function formatNumber(num, precision, separator) { var parts; // 鍒ゆ柇鏄惁涓烘暟瀛 if (!isNaN(parseFloat(num)) && isFinite(num)) { // 鎶婄被浼 .5, 5. 涔嬬被鐨勬暟鎹浆鍖栨垚0.5, 5, 涓烘暟鎹簿搴﹀鐞嗗仛鍑? 鑷充簬涓轰粈涔 // 涓嶅湪鍒ゆ柇涓洿鎺ュ啓 if (!isNaN(num = parseFloat(num)) && isFinite(num)) // 鏄洜涓簆arseFloat鏈変竴涓鎬殑绮惧害闂, 姣斿 parseFloat(12312312.1234567119) // 鐨勫€煎彉鎴愪簡 12312312.123456713 num = Number(num); // 澶勭悊灏忔暟鐐逛綅鏁 num = (typeof precision !== 'undefined' ? num.toFixed(precision) : num).toString(); // 鍒嗙鏁板瓧鐨勫皬鏁伴儴鍒嗗拰鏁存暟閮ㄥ垎 parts = num.split('.'); // 鏁存暟閮ㄥ垎鍔燵separator]鍒嗛殧, 鍊熺敤涓€涓憲鍚嶇殑姝e垯琛ㄨ揪寮 parts[0] = parts[0].toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1' + (separator || ',')); return parts.join('.'); } return NaN; }