直接上代码:修改jquery.jqGrid.js 的_compare 方法, (同样的道理, table.sorter.js如果要支撑中文排序加入中文的判断即可)
JavaScript Code
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
this._compare =
function (a, b, d)
{ var toString = Object. prototype.toString; if (d === undefined) { d = 1; } if (a === undefined) { a = null; } if (b === undefined) { b = null; } if (a === null && b === null) { return 0; } if (a === null && b !== null) { return 1; } if (a !== null && b === null) { return - 1; } if (toString.call(a) === '[object Date]' && toString.call(b) === '[object Date]') { if (a < b) { return -d; } if (a > b) { return d; } return 0; } if (!_usecase && typeof a !== "number" && typeof b !== "number") { a = String(a); b = String(b); var reg = new RegExp( "[\\u4E00-\\u9FFF]+", "g"); if (reg.test(a)) { //alert("包含汉字!"); /*中文比较*/ if ( typeof a === 'string' && typeof b === 'string') { var _compareValue = a.localeCompare(b); if (_compareValue > 0) { return d; } if (_compareValue < 0) { return -d; } return 0; } } } if (a < b) { return -d; } if (a > b) { return d; } return 0; }; |