如上述问题,我在模板Web属性设置了填报页面加载结束事件,但是填报预览的时候并没能实现排序功能,不知道咋回事,求大神指点迷津。代码如下(从帮助文档上复制来的): //排序的方法,参数为表的id和列 function sortTable(table, idx) { var otable = document.getElementById(table), otody = otable.tBodies[0], otr = otody.rows, tarr = []; for (var i = 1; i < otr.length; i++) { tarr[i - 1] = otr; }; if (otody.sortCol == idx) { tarr.reverse(); } else { tarr.sort(function (tr1, tr2) { var value1 = tr1.cells[idx].innerHTML; var value2 = tr2.cells[idx].innerHTML; if (!isNaN(value1) && !isNaN(value2)) { return value1 - value2; } else { return value1.localeCompare(value2); } }) } var fragment = document.createDocumentFragment(); for (var i = 0; i < tarr.length; i++) { fragment.appendChild(tarr); }; otody.appendChild(fragment); otody.sortCol = idx; } //获取到页面中表头,设置点击事件 $("#r-0-0 td").bind("click", function() { //获取到点击的列索引 var index = $(this).parents("tr").find("td").index($(this)); //获取class=page-block的div中的table的id var tableID = $("div.page-block table").attr("id"); //调用排序的方法,进行传值,0是这个表的id,可以通过F12获取到表的id sortTable(tableID, index); }); |