Tal vez fue un poco confuso.
Tengo una tabla de datos. En esta tabla de datos, hay un botón de edición al final. Al hacer clic en el botón Editar, se abre un modal. Quiero pasar los datos en esta tabla de datos al modal. Puedo enviarlo como una sola variable, pero cuando quiero convertir los datos en una matriz y tirarlos, aparece un error.
Mi mesa:
<td><input type="text" value="<?= $datt['a']; ?>" id ="a" class="form-control"/> </td> <td><input type="text" value="<?= $datt['b']; ?>" id ="b" class="form-control"/> </td> <td><input type="text" value="<?= $datt['c']; ?>" id ="c" class="form-control"/> </td> <? $arry = array( "a" => $datt['a'], "b" => $datt['b'], "c" => $datt['c']); ?> <td><button id="updd" class="btn btn-success updd" data-toggle="modal" data-target="#updd" onclick="show_fun(<?= $arr ?>)">Edit</button></td>Función JS:
function show_fun(datt){ $(document).on("click", ".updd", function (e) { var obj = datt; console.log(datt);});
Resultado:
Array() { [código nativo] }
También envié el Array con json_encode.
Lo intenté
onclick="show_fun(<?= $arr ?>)"en vez de
onclick="show_fun(<?= json_encode($arr) ?>)"Resultado:
indefinido
¿Cómo puedo enviar datos a modal?
No necesita un oyente de clic interno. En HTML:
<button ... onclick="show_fun(<?= json_encode($arr); ?>);" />En JS:
function show_fun(dat) { console.log(dat); }