没有Alert()jQuery无法正常工作

时间:2015-10-06 14:12:02

标签: javascript jquery json

大家好我编写了一个代码,使用jQuery从JSON文件生成html表。但是当我删除alert()函数时代码不起作用。请帮我解决这个问题。提前感谢你们

贝娄是我的代码

<script>
var a = {};
var b = {};
var i = 1;
var inc = 0;
var j = 9;
$.getJSON(
    'JsonDataBlocks.json',
    function(data) {

        a = data;

        $.each(a, function(idx, elem) {
            alert(inc);
            if (idx == 0) {
                $('table#tbl TBODY')
                    .append('<tr class="treegrid-' + i + ' treegrid-expanded"><td>' + elem.Tops + '</td><td><input type="text" class="info" value="' + elem.Jacket + '" id="' + i + 'a"></input></td><td><input type="text" class="info" value="' + elem.Flap + '" id="' + i + 'b"></input></td><td><input type="text" class="info" value="' + elem.Premium + '" id="' + i + 'c"></input></td><td><input type="text" class="info" value="' + elem.NonPrint + '" id="' + i + 'd"></input></td><td><input type="text" class="info" value="' + elem.Regular + '" id="' + i + 'e"></input></td></tr>');
                i = i + 1;

            } else {
                $('table#tbl TBODY')
                    .append('<tr class="treegrid-' + i + ' treegrid-expanded" id="color"><td class="box">' + elem.Tops + '</td><td class="box"><input type="text" class="info" value="' + elem.Jacket + '" id="' + i + 'a"></input></td><td><input type="text" class="info" value="' + elem.Flap + '" id="' + i + 'b"></input></td><td><input type="text" class="info" value="' + elem.Premium + '" id="' + i + 'c"></input></td><td><input type="text" class="info" value="' + elem.NonPrint + '" id="' + i + 'd"></input></td><td><input type="text" class="info" value="' + elem.Regular + '" id="' + i + 'e"></input></td></tr>');

                $.getJSON('TOI.json', function(data) {
                    b = data;

                    $.each(b, function(index, elem) {
                        if (elem.node == i) {
                            $('table#tbl TBODY').append('<tr id="colorBreak1" class="treegrid-' + j + ' treegrid-parent-' + i + '" ><td>' + elem.Tops + '</td><td><input type="text" class="info" value="' + elem.Jacket + '" id="' + j + 'a"></input></td><td><input type="text" class="info" value="' + elem.Flap + '" id="' + j + 'b"></input></td><td><input type="text" class="info" value="' + elem.Premium + '" id="' + j + 'c"></input></td><td><input type="text" class="info" value="' + elem.NonPrint + '" id="' + j + 'd"></input></td><td><input type="text" class="info" value="' + elem.Regular + '" id="' + j + 'e"></input></td></tr>');

                            j = j + 1;
                        }
                    });
                    i = i + 1;
                });
            }
        });
    });
</script>
<div id="scroll" class="col-xs-12">
    <table id="tbl" class="tree table table-striped table-bordered">
        <thead>
            <tr>
                <th class="header" href="">Tops</th>
                <th class="header">Jacket</th>
                <th class="header">Flap</th>
                <th class="header">Premium</th>
                <th class="header">Non Print</th>
                <th class="header">Regular</th>
        </thead>
        <tbody></tbody>
    </table>
</div>
</body>

</html>

1 个答案:

答案 0 :(得分:1)

而不是:

$.getJSON(
'JsonDataBlocks.json',
function(data) {

使用:

$.getJSON('JsonDataBlocks.json')
    .done(data) { ... }

并为随后的$ .getJSON调用执行此操作。 $ .getJSON是异步的,所以除非你在返回数据后实现它,否则任何依赖于数据的东西都不会有效。