将数据附加到forEach循环中

时间:2017-01-12 22:47:45

标签: javascript jquery html css

我正在尝试将数据附加到html中的表的下一行(以空格开头),我似乎无法使其工作。

这是按下按钮以使用当前数据更新表时的功能。我在控制台中收到错误,说forEach不是一个函数。有人可以给我更多关于为什么会这样的信息吗?

//Updates the table when the update button is pressed
function updateButton(){
        function updateButton(){
    $.get( "Some PHP server data", function( data ) {
        data.forEach(function(row) {
            var htmltext = "<tr><td>"+row.lastname+"</td><td>"+row.currentcity+"</td><td>"+row.uid+"</td><td>"+row.ip+"</td><td>"+row.updateTime+"</td></tr>"

            $(("#table1").find('tbody').append($(htmltext)));
        });
    });

}

这是我对表元素的html。

<table id="table1" class="table table-striped">
<thead>
  <tr>
    <th>Firstname</th>
    <th>Lastname</th>
    <th>Current City</th>
    <th>uid</th>
    <th>IP</th>
    <th>When</th>
  </tr>
</thead>
<tbody>

</tbody>
</table>

2 个答案:

答案 0 :(得分:0)

这应该稍微直截了当。

var html = "<tr><td>"+row.lastname+"</td><td>"+row.currentcity+"</td><td>"+row.uid+"</td><td>"+row.ip+"</td><td>"+row.updateTime+"</td></tr>"

$("#table1").find('tbody').append(html);

答案 1 :(得分:0)

我删除了您的&#34;数据库&#34;因为我无法测试你与数据库的连接。我只是留下了必要的HTML和JavaScript方面。

只需点击&#34;按钮&#34;在链接的jsFiddle中向表中添加一行。

这是HTML。

<div id="button">
  Press to add row
</div>

<table id="table1" class="table table-striped">
  <thead>
    <tr>
      <th>Firstname</th>
      <th>Lastname</th>
      <th>Current City</th>
      <th>uid</th>
      <th>IP</th>
      <th>When</th>
    </tr>
  </thead>
  <tbody id="tbody">

  </tbody>
</table>

这是JavaScript。

function updateButton() {

  $("#table1").find("tBody").append($("<tr><td>"+ "row.firstname" + "</td>" + "<td>" +"rowLastName" + "</td>" + "<td>" + "row.currentcity" + "</td>" + "<td>" + "row.uid" + "</td>" + "<td>" + "row.ip" + "</td>" + "<td>" + "row.updateTime" + "</td> </tr>"));
}

var button = document.getElementById('button');
button.onclick = function() {
  updateButton();
}

这是一个jsFiddle。希望这会有所帮助。

https://jsfiddle.net/1qutvgrp/1/

关于你的forEach问题...... 以下示例:

var targetList = [];
var selectedFilters = $(SelectedItems()); // An array of items
selectedFilters.each(function (index, listitem)
{
    var temp = _objectList[$(listitem)[0].getAttribute('hash')];
    targetList.push(temp);
});