SortView - JavaScript 排序控件(v1.1)
介绍
SortView 是用于显示排序按钮/链接的控件, 并包含 js 排序功能. 这些排序控件附加在指定的 HTMLElement 里. 结合 TableView, 可以实现非常强大的数据表格功能. SortView 可单独使用, 但依赖 jQuery 库.
示例
Id | Name | 中文名 | Text | 输入 |
---|
<table> <tr> <th field="id">Id</th> <th field="name">Name</th> <th field="name_cn">中文名</th> <th field="text">Text</th> <th field="input">输入</th> </tr> </table> <script type="text/javascript"> <!-- var rows = []; // datasource var sort = new SortView(); sort.fields = { 'id' : ['int', null], 'name' : [null, null] }; var elements = {}; var ths = $('table th').each(function(i, th){ var k = $(th).attr('field'); if(k != undefined){ elements[k] = th; } }); sort.onclick = function(field, order){ sort.sort(rows); // do with rows... } sort.render(elements); //--> </script>
API文档
开发指导
创建
SortView 的工作原理是将排序链接/按钮附加到指定节点内部, 这些节点可以是 div, 或者表格单元格. SortView.fields 定义了各个字段的数据类型和排序函数.
<div id="id_div"></div> <div id="name_div"></div> <script type="text/javascript"> <!-- var sort = new SortView(); sort.fields = { 'id' : ['int', null], 'name' : [null, null] }; var elements = { 'id' : document.getElementById('id_div'), 'name' : document.getElementById('name_div') }; sort.render(elements); //--> </script>
SortView.render() 方法接受要添加入排序链接/按钮的节点列表(HTMLElement).
排序事件
重写 SortView.onclick 方法, 可捕获排序字段. 其两个参数指示是哪个字段要排序, 以及排序的方向.
sort.onclick = function(field, order){ sort.sort(rows); // do with rows... }
排序函数
SortView.sort() 是一个内置的排序函数, 可对 JavaScript 对象的数组进行排序, 默认进行自然排序.