Pasar un parámetro (report.id) a la función removeUser funciona bien, pero cuando quiero pasar dos parámetros (report.id y report.name) obtengo Uncaught SyntaxError: token no válido o inesperado.
Probé '(" +informe.id +","+ informe.nombre +")'
Probé '(" +informe.id informe.nombre +")'
pero ninguno funciona, lo que estoy haciendo mal aquí
$.ajax({ url: "xxx", type: "GET", contentType: "application/json;charset=utf-8", dataType: "json", success: function (result) { var html = ''; $.each(result, function (key, report) { html += '<tr>'; html += '<td>' + report.id + '</td>'; html += '<td>' + report.name + '</td>'; html += "<td><a onClick='removeUser(" +report.id + report.name +")'" + "'> Remove </a></td>"; html += '</tr>'; }); $('#users').html(html); }, function removeUser(id, name) { alert("ID: "+ id + "Name: "+ name) }Necesita comas entre los parámetros y solo necesita comillas alrededor report.name .
Es mucho más fácil escribir esto usando un literal de plantilla en lugar de una concatenación.
html += `<td><a href="#" onClick='removeUser(${report.id}, "${report.name}")'> Remove </a></td>`; Además, dado que está haciendo esto con a elemento, debe configurar su href para que no intente vincular a otra página después de ejecutar la función onclick .