En mi aplicación web, creé una tabla para mostrar algunos elementos en la tabla. En la tabla, hay nueve columnas y la última tiene una celda editable.
La primera columna incluye el Part_Id relacionado con el registro Part No y ese campo está oculto. Así que quiero obtener toda la identificación y los datos que no contienen los valores vacíos en la columna 'Nueva cantidad de pedido' y pasar todos los valores al controlador.
Entonces, en el evento de clic del botón Create Order , traté de llamar a esta función para tomar Id y Order Qty y agregarlos a una matriz. Pero solo el primer registro va a la matriz. ¿Hay alguna manera de obtener solo los registros que contienen valores en New Order Qty a la matriz para pasarlos al controlador?
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); }); } 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>