在 jQuery 数组中获取 Table 行 ID 和值

Getting Table row ID and Values in jQuery Array

在我的网络应用程序中,我创建了一个 table 来向 table 显示一些项目。在 table 中,有九列,最后一列有一个 editable 单元格。

第一列包含与部件号记录相关的 Part_Id,该字段已隐藏。所以我想获取所有不包含“新订单数量”列中的空值的 Id 和数据,并将所有值传递给控制器​​。

所以在 Create Order 按钮单击事件中,我尝试调用此函数以获取 Id 和订单数量并将它们添加到数组中。但只有第一条记录进入数组。 有没有办法只获取包含 New Order Qty 中值的记录到数组以将其传递给控制器​​?

function createOrder() {

  var Orders = new Array();
  $("#tblParts").each(function() {

    var order = {};
    var partId = this.getElementsByTagName("td")[0];
    var pID = partId.innerText;
    var cellOrder = this.getElementsByTagName("td")[8];
    var cellOrderId = cellOrder.innerText;
    order.Id = pID;
    order.OrderQty = cellOrderId;
    Orders.push(order);

  });
}
  1. ID 必须是唯一的
  2. 你有jQuery,使用它

const Orders = $("#tableId tbody tr").filter(function() {
  const cells = $(this).find("td");
  return cells.eq(8).text().trim() != ""
}).map(function() {
  const cells = $(this).find("td");
  return {
    [cells.eq(0).text().trim()]: +cells.eq(8).text()
  }
}).get()

console.log(Orders)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="tableId">
  <thead>
    <tr>
      <th>ID</th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th></th>
      <th>QTY</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>ID 1</td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td>32</td>
    </tr>
    <tr>
      <td>ID 2</td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr>
      <td>ID 3</td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td>23</td>
    </tr>

  </tbody>
</table>