Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

169
Vistas
Parámetros jQuery DataTable no definidos en la función

El siguiente JavaScript representa un botón de marca de verificación verde o un botón X rojo en una columna de tabla de datos de jQuery:

 { data: "HasPayment", render: function (data, type, row, meta) { if (data) { return '<button class="hasPayment\ btn btn-link" id=n-"' + meta.row + '"><span class="fas fa-solid fa-check" style="color: green"></span></button>'; } return '<button class="hasPayment\ btn btn-link" id=n-"' + meta.row + '"><span class="fas fa-solid fa-times" style="color: red"></span></button>'; } }

Se llama al siguiente JavaScript cuando se hace clic en uno de los botones (marca de verificación verde o X roja):

 $('#HR_Payment_DataTable tbody').on('click', '.hasPayment', function () { var id = $(this).attr("id").match(/\d+/)[0]; var data = $('#HR_Payment_DataTable').DataTable().row(id).data(); var url = `Payment/Set?applicationId=${data[14]}&year=${data[12]}&month=${data[13]}&hasPayment=${data[11]}`; $.ajax({ url: url, type: "POST", contentType: "application/json; charset=utf-8", dataType: "json", success: function () { dataTable.ajax.reload(); }, error: () => { console.error("500 Internal Server Error."); } }); });

Cuando hago clic en uno de los botones, aparece un error de consola que indica que los valores en la url no están definidos.

Estoy siguiendo este ejemplo: http://live.datatables.net/qemodapi/975/edit

Así es como se ve una fila

 { ActivityPhase: "Complete" ActivityPhaseDate: "/Date(219999600000)/" Address: "123 N Main" AppNumber: 54 Client: "Bob Ben" EscrowAccountNumber: "123456" EscrowWithCity: true HasPayment: false Hrdbid: null Id: "a21d627e-97ab-477f-afc1-27c2637f7c05" Month: 6 Notes: null Year: 2022 }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Dado que los datos se pasan a DataTable como una matriz de objetos, los datos de cada fila se representarán como un objeto y no como una matriz. Por lo tanto, debe acceder a los miembros de la fila (datos de cada columna) cualquiera de los métodos de acceso a objetos en lugar de a una matriz.

cambiar esta línea

 var url = `Payment/Set?applicationId=${data[14]}&year=${data[12]}&month=${data[13]}&hasPayment=${data[11]}`;

A esto

 var url = `Payment/Set?applicationId=${data['AppNumber']}&year=${data['Year']}&month=${data['Month']}&hasPayment=${data['HasPayment']}`;
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda