使用 html 中的按钮 onclick 将 php 数组发送到 javascript 函数

Sending php array to a javascript function with button onclick in html

可能有点混乱。

我有一个数据table。在这个数据table中,最后有一个编辑按钮。单击编辑按钮将打开一个模式。我想把这个datatable里面的数据传给模态。我可以将它作为单个变量发送,但是当我想将数据转换为数组并将其丢弃时,出现错误。

我的table:

<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>

JS函数:

function show_fun(datt){
$(document).on("click", ".updd", function (e) {
 var obj = datt;

 console.log(datt);

});

结果:

Array() { [native code] }

我还用 json_encode 发送了 Array。

我试过了

onclick="show_fun(<?= $arr ?>)"

而不是

onclick="show_fun(<?= json_encode($arr) ?>)"

结果:

undefined

如何将数据发送到模态?

您不需要内部点击侦听器。在 HTML:

<button ... onclick="show_fun(<?= json_encode($arr); ?>);" />

在 JS 中:

function show_fun(dat) {
 console.log(dat);
}