自己做个js表格插件呗--mytable v0.1

mytable 0.1

由来:

在开发中试用了很多表格插件,发现太复杂了,而我只想要把数据应用在表格上而已。
为什么是0.1版本开始,因为她就只有0.1的功能啊。

设计思想:

通过后台传来的json数据使用js生成表格,我只要调用方法mytable(url,data,keys);就可以实现自动生成表格的功能了。

属性:

url :获取json的地址
data : 传给后台的数据,如:“id=1”
keys :以键值对的数组格式输入,[{fileName:表头” , “fileCont:表头对应的数据” , “fileFun:表格要加入的其他代码”}]


下列代码保存为mytable.js:

function mytable(url,data,keys){
        var mytable = $("#mytable");
        mytable.html("正在加载表格。。。");
        var keyname = [];//表头
        var key     = [];//表头对应数据
        var keyfun  = [];//方法
        var tdtext  = "";

        for(var tmp in keys){
            keyname.push(keys[tmp]['fileName']);
            key.push(keys[tmp]['fileCont']);
            keyfun.push(keys[tmp]['fileFun']);
        }

        tdtext += "<thead>";
        tdtext += "<tr><th><input type='checkbox' id='keyall'> 序号</th>";
        for(var te in keyname){
            tdtext += "<th>"+keyname[te]+"</th>";
        }
        tdtext += "</tr>";
        tdtext += "</thead>";

        $.ajax({
            type    : "GET",//可以改post
            data    : data,
            url     : url,
            success : function(e){
                tdtext += "<tbody>";
                for(var i in e){

                    var ip = Number(i)+1;
                    tdtext += "<tr>";
                    tdtext += "<td><input type='checkbox' value=''> "+ip+"</td>";
                    for(var j in key){
                        if(keyfun[j] != undefined){
                            tdtext +="<td>"+keyfun[j]+e[i][key[j]]+"</td>"; 
                        }else{
                            tdtext +="<td>"+e[i][key[j]]+"</td>";                            
                        }
                    }
                    tdtext +="</tr>";
                }
                tdtext += "</tbody>";
                mytable.html(tdtext);
            }
        });
    }

例子:mytable.html

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<style>
td,th{
    padding: 5px 5px 5px 5px;
    border: 1px solid #ccc;
}
</style>

</head>
<body>
     <table id="mytable"></table>//表格
     <script src ="jquery-1.12.4.min.js">//引入jquery(必须)
     <script src ="mytable.js">//引入js
   <script>
     $(function(){
     //初始化 ,后台传来的json数据是[{name:'小米',age:7},{name:'老腾',age:19}]  ,请求方式为‘get’可以在js改为post 

     mytable('index.php' , '' , [{
         fileName:'姓名', 
         fileCont:'name'
         },{
         fileName:'年龄',
         fileCont:'age',
         fileFun:'<a>删除</a>' 
         }]); 
      });

     </script>
</body>
</html>

示例

注:可能有些缺陷,但已经满足我的需求,配上bootstrap的表格样式食用效果更佳哦

我的个人博客

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值