在JavaScript中重新加载页面后保持HTML表顺序

时间:2016-10-11 10:05:07

标签: javascript html angularjs

我试图通过使用

重新加载页面后保持选定的表排序(按特定列排序,升序或降序)

   function myController() {
        var vm = this;
        vm.orderBy = "col1";
        vm.orderTable = orderTable;
        vm.orderAsc = false;

     function loadPage() {            
            var orderedBy = localStorage.getItem("vm.orderedBy");
            if(orderedBy != null && orderedBy != "" && orderedBy != undefined) {
                orderTable(orderedBy);
            }
        }

    function orderTable(column) {
            if (column!= vm.orderBy) {
                vm.orderAsc = false;
                vm.orderBy = column;
            } else {
                vm.orderAsc = !vm.orderAsc;
            }
            localStorage.setItem("vm.orderedBy", vm.orderBy);
            localStorage.setItem("vm.orderedAsc", vm.orderAsc); 
        }
    }

但它不起作用。它按正确的列对表进行排序,但在重新加载页面时始终按升序排列。 我做错了吗?

1 个答案:

答案 0 :(得分:0)

您应该使用body标签在页面加载时调用该函数。

e.g。

<body onload="yourOrderingFunction()">

当页面加载或重新加载时,它将保留您在javascript中应用的顺序。