He definido la siguiente tabla de arranque en mi página web ASP.NET:
<table class="display table table-bordered" data-click-to-select="true" data-pagination="true" data-sortable="true" data-show-refresh="true" data-single-select="true" data-maintain-selected="true" data-show-toggle="true" data-id-field="customer_id" id="customers" name="customers"> <thead> <tr> <th data-field="state" data-checkbox="true"></th> <th data-field="Customer_ID" data-sortable="true">Acct. #</th> <th data-field="Company_Name" data-sortable="true">Company</th> <th data-field="Federal_EIN" data-sortable="true">EIN</th> <th data-field="City" data-sortable="true">City</th> <th data-field="State" data-sortable="true">State</th> <th data-field="Creation_Date" data-sortable="true">Added</th> </tr> </thead> </table>Y, siguiendo el código de muestra en SO, estoy tratando de usar el siguiente código jQuery/JavaScript para obtener y mostrar información de la fila seleccionada:
$('#customers').on('check.bs.table', function (e, row) { checkedRows.push({ id: row.id, name: row.name, forks: row.forks }); console.log(checkedRows); $.each(checkedRows, function (index, value) { $(console.log(value.id + " | " + value.name + " | " + value.forks)); }); }); $('#customers').on('uncheck.bs.table', function (e, row) { $.each(checkedRows, function (index, value) { if (value.id === row.id) { checkedRows.splice(index, 1); } }); console.log(checkedRows); }); El problema es que la consola muestra los valores de la fila marcada como undefined . ¿Qué estoy haciendo mal?
Entonces, descubrí que el problema es que los campos del objeto de row distinguen mayúsculas de minúsculas, según los campos con los que se completa la tabla (aunque, curiosamente, a la tabla de arranque no le importa si los parámetros data-field observan mayúsculas y minúsculas! ). Entonces, una vez que usé la distinción entre mayúsculas y minúsculas adecuada al referirme a los campos de la row , apareció todo. ¡Gracias a todos por su ayuda!