你吃西瓜皮 2019-02-26 13:58 采纳率: 100%
浏览 1077
已采纳

forEach遍历json数据填充表格,删除指定行。

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>

        <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
    </head>

    <body>
        <table id='tab' border="1">
            <thead>
                <tr style="background-color:#CCCCCC;">
                    <th>名称</th>
                    <th>数量</th>
                    <th>价格</th>
                </tr>
            </thead>
            <tbody>

            </tbody>

        </table>
    </body>
    <script>
        //水果数量
        var fruit = {
            '苹果': 0,
            '香蕉': 2,
            '水梨': 0,
            '葡萄': 8,
            '火龙果': 14,
        }
        var tianmao = [{
                id: 1,
                name: '橘子',
                price: 8
            },
            {
                id: 2,
                name: '香蕉',
                price: 8
            },
            {
                id: 3,
                name: '橘子',
                price: 8
            },
            {
                id: 4,
                name: '水梨',
                price: 8
            },
            {
                id: 5,
                name: '火龙果',
                price: 8
            },
            {
                id: 6,
                name: '葡萄',
                price: 8
            }
        ]

        tianmao.forEach(function(obj) {
            /*for(var i in tianmao) {
                for(var k in tianmao[i]) {
                    if(tianmao[i][k] == "undefined") {
                        //delete tianmao[i];
                        tianmao.splice(i, 1);
                        i = i - 1;
                        break;
                    }
                }
            }*/

            var str = '<tr><td>' + obj.name + '</td><td>' + fruit[obj.name] + '</td><td>' + obj.price + '</td></tr>'
            $("#tab tbody").append(str);
        });

        //方法一
        /*$('#tab').find('tr').each(function() {
            var num = $(this).find("td").eq(1).html();
            if(num == 0 || num == 'undefined') {
                $(this).find("td").parent().remove(); //删除td所在行
            }
        });*/
    </script>

</html>

通过遍历数据得到table如图,现在想删除掉数量未定义和为0的行tr,但实际table是带有分页得,方法一遍历不到所有得行(只能一页)行不通,怎么在append前,处理json得到想要得结果。谢谢十分~

图片说明

  • 写回答

3条回答 默认 最新

  • 你吃西瓜皮 2019-02-26 16:07
    关注
    tianmao.forEach(function(obj) {
                var str = '<tr><td>' + obj.name + '</td><td>' + fruit[obj.name] + '</td><td>' + obj.price + '</td></tr>'
                if(fruit[obj.name] !=0 && fruit[obj.name] !=undefined){
                    $("#tab tbody").append(str);
        }
            });
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建