使用 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);
}
可能有点混乱。
我有一个数据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);
}