提问者:小点点

将php数组发送到一个javascript函数,在html中点击按钮


也许有点困惑。

我有一个数据表。在此数据表中,末尾有一个编辑按钮。单击编辑按钮打开一个模式对话框。我想将此数据表中的数据传递给modal。我可以将其作为单个变量发送,但当我想将数据转换为数组并将其丢弃时,会出现错误。

我的桌子:

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

});

结果:

数组(){[本机代码]}

我还发送了json_encode阵列。

我试过了

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

而不是

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

结果:

未定义

如何向modal发送数据?


共1个答案

匿名用户

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

<button ... onclick="show_fun(<?= json_encode($arr); ?>);" />
function show_fun(dat) {
 console.log(dat);
}