如上述问题,我在模板Web属性设置了填报页面加载结束事件,但是填报预览的时候并没能实现排序功能,不知道咋回事,求大神指点迷津。代码如下(从帮助文档上复制来的):
//排序的方法,参数为表的id和列
function sortTable(table, idx) {
var otable = document.getElementById(table),
otody = otable.tBodies,
otr = otody.rows,
tarr = ;
for (var i = 1; i < otr.length; i++) {
tarr = otr;
};
if (otody.sortCol == idx) {
tarr.reverse();
} else {
tarr.sort(function (tr1, tr2) {
var value1 = tr1.cells.innerHTML;
var value2 = tr2.cells.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);
});