繁体   English   中英

循环对象数据在JQuery中创建tr和td元素?

[英]Loop over Object data create tr and td elements in JQuery?

过去,我使用Vanilla JS遍历Ajax返回数据并构建表。 对于这个项目,我想使用JQuery。 为什么我的某些td元素需要具有特殊属性。 我认为使用JQuery添加这些属性会更容易。 这是我所拥有的示例:

    $.ajax({
        type: 'POST',
        url: 'Application.cfc?method=findRec',
        data: {'recNum':recNum},
        dataType: 'json'
    }).done(function(obj){ 
        var tbl = "<table id='myTbl'><thead><tr><th>Last</th><th>First</th></thead><tbody>";

        $.each(obj.DATA, function(i, item) {  
 $('#myTbl').append($('<tr>').attr('id',$.trim(decodeURIComponent(item.REC_ID))).append(
              $('<td>').text($.trim(decodeURIComponent(item.LASTNAME))),
              $('<td>').text($.trim(decodeURIComponent(item.FIRSTNAME)))                    
            )
        });
        tbl += "</tbody></table>";
    }).fail(function(jqXHR, textStatus, errorThrown){
        alert("Error: "+errorThrown);               
    });

由于某种原因,上面的代码没有产生任何表行。 我想知道是什么破坏了我的代码。 如果有人可以帮忙,请告诉我。 我的每个表行都应该分配一个唯一的ID,该ID随Ajax调用数据一起返回。 我不确定append是否会引起一些问题。 如果有人看到问题,请告诉我。

tr和td标签没有结束标签:

    var tbl = "<table id='myTbl'><thead><tr><th>Last</th><th>First</th></tr></thead><tbody>";

        $.each(obj.DATA, function(i, item) {  
 $('#myTbl').append($('<tr>').attr('id',$.trim(decodeURIComponent(item.REC_ID))).append(
              $('<td>').text($.trim(decodeURIComponent(item.LASTNAME))),
              $('<td>').text($.trim(decodeURIComponent(item.FIRSTNAME)))                    
            )
        });
        tbl += "</tbody></table>";
    }).fail(function(jqXHR, textStatus, errorThrown){
        alert("Error: "+errorThrown);               
    });

当您附加它们时也请关闭。

此外,表元素尚未创建,因此尚不存在

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM