zoukankan      html  css  js  c++  java
  • 将JSOn数据渲染进页面表格(一)

    实现:将后台JSOn数据在页面以表格显示最后n条,折叠前面的内容。

    除了处理JSOn数据比较麻烦,原理还是DOM操作,所以原生基础很重要啊。这种情况是在页面写好表头,然后再插入行,筛选。

    JSOn数据格式,差不多这个格式吧,随便写的

    [
       {“version”:“1.2.1”,
         "333":"44",
         "fruit":[
                  {"apple":"one"},
                  {"banana":"two"},
                  {"grap":"three"},
                  {"orange":"four"}
          ]
      }  ,
      {“version”:“1.2.3”,
         "333":"44",
         "fruit":[
                  {"apple":"one"},
                  {"banana":"two"},
                  {"grap":"three"},
                  {"orange":"four"}
          ]
      }  
    
    ]    

    html部分

    <div class="datalist">
                            <table class="table" id="dataList">
                                <colgroup>
                                    <col width="5">
                                    <col width="10%"/>
                                    <col width="40%">
                                    <col width="40%"/>
                                </colgroup>
                                <tr id="thead">
                                    <th><input type="checkbox"></th>
                                     <th>NO</th>
                                     <th>KeyName</th>
                                     <th>Imformation</th>
                                </tr>
                                <tr id="open">
                                    <td>...</td>
                                    <td>...</td>
                                    <td>...</td>
                                    <td>...</td>
                                </tr> 
                            </table>
                        </div>

    js部分

    $(function(){
    
        var getData = function(){            
            $.get("data.json").success(function(data) {
                tempData = data;
                generatingTable(data);
            });
        };
    
        
        var generatingTable = function(data){
            var trStr = "<tr ><td><input type='checkbox'></td><td class='number'>{number}</td><td>{keyname}</td><td class='infomation'>{values}</td></tr>";
            var count=0;
            var n=6;
            var L = data.length;
            var str = "";
         //显示最后N条
    if((L<=n)==true){ for(var i=0;i<L;i++){ str=trStr.replace("{number}",i+1); str=str.replace("{keyname}",data[i].key); str=str.replace("{values}",data[i].version); $("#dataList").append(str); } $("#open").hide(); } else{ for (var i = L-n; i<L;i++) { str=trStr.replace("{number}",i+1); str=str.replace("{keyname}",data[i].key); str=str.replace("{values}",data[i].version); $("#dataList").append(str); }; } //查看全部数据 $("#checkAll").click(function(){ if($(this).attr('data-flag')=='false'){ if((L<=n)==true){ return; } for(var i=0;i< L-n;i++){ str=trStr.replace("{number}",i+1); str=str.replace("{keyname}",data[i].key); str=str.replace("{values}",data[i].cloudosclient_version); $("#open").before(str); } $("#open").hide(); $(this).text('部分显示'); $(this).attr('data-flag',true); }else if($(this).attr('data-flag')=='true'){ $('#thead').nextUntil('#open').remove(); $("#open").show(); $(this).text('显示全部'); $(this).attr('data-flag',false); } }); }; getData(); });
  • 相关阅读:
    centos查看apache用的是哪个httpd.conf
    window下安装composer and yii2
    安装xampp后,出现“Apache 2 Test Page powered by CentOS“
    PHP高效率写法
    银联接口(注意项&备忘)
    多行文本溢出
    javascript数据基本定义以及对象{}和数组[]的含义和使用
    用CSS3的animation轻松实现背景动画:漂浮的云
    巧妙使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的好方法
    NBA篮球足球在线直播插件下载
  • 原文地址:https://www.cnblogs.com/xiaoluoli/p/5999730.html
Copyright © 2011-2022 走看看