gpt4 book ai didi

javascript - 传递给 JS 函数的 PHP 变量不起作用

转载 作者:行者123 更新时间:2023-11-30 21:05:20 25 4
gpt4 key购买 nike

我正在做一个有 table 的项目。该表中是里程碑和里程碑的一部分。

这是我的代码:

<?php
$milestones = array();
while ($rij = $db->fetchassoc($result)) {
$milestones[$rij['milestone_id']][] = $rij;
}
foreach ($milestones as $milestone) {
echo '<tr id="' . $milestone[0]['milestone_id'] . '" class="milestone' . $milestone[0]['milestone_id'] . '">';
echo '<td>' . $milestone[0]['milestone_id'] . '</td>';
echo '<td><a href="javascript:keuzeGebruiker(milestone' . $milestone[0]['milestone_id'] . ',' . $milestone[0]['milestone_id'] . ');">' . $milestone[0]['milestone_titel'] . '</a></td>';
echo '<td>' . $milestone[0]['client'] . '</td>';
echo '</tr>';

for ($i = 0; $i < count($milestone); $i++) {
if (empty($milestone[$i]['milestonefase_titel'])) {
echo '<tr id="' . $milestone[$i]['milestonefase_id'] . '" class="milestone' . $milestone[$i]['milestone_id'] . 'fase fase">';
echo '<td></td>';
echo '<td style="color: red">Geen titel beschikbaar!</td>';
echo '<td></td>';
echo '</tr>';
} else {
echo '<tr id="' . $milestone[$i]['milestonefase_id'] . '" class="milestone' . $milestone[$i]['milestone_id'] . 'fase fase">';
echo '<td>' . $milestone[$i]['milestonefase_id'] . '</td>';
echo '<td>' . $milestone[$i]['milestonefase_titel'] . '</td>';
echo '<td></td>';
echo '</tr>';
}
if (!isset($_COOKIE['milestones'])) {
echo '<style>.fase{display: none;}</style>';
}
if (strpos($_COOKIE['milestones'], $milestone[0]['milestone_id']) !== false) {
echo '<style>.milestone' . $milestone[0]['milestone_id'] . 'fase{display: table-row!important;}</style>';
}
}
}
?>

我需要发送变量:

href="javascript:keuzeGebruiker(milestone'.$milestone[0]['milestone_id']. ','.$milestone[0]['milestone_id'].');" but that variable does not send to my JS function.

我的第一个参数是点击里程碑的名称(例如“milestone403”)我的第二个参数是点击里程碑的 ID(例如:“403”)。

但是我的控制台日志说:

ReferenceError: milestone403 is not defined

这是我的 JS 函数:

<script>
document.cookie = "milestones=" + [readCookie()];
var array = readCookie().split(",");

function keuzeGebruiker(name, value)
{
if ($('.' + name + "fase").is(":visible")) // Als milestone zichbaar is, dan word milestone onzichtbaar
{
var index = array.indexOf(value);
if (index !== -1)
{
array.splice(index, 1);
}
document.cookie = "milestones=" + array;
$('.' + name + 'fase').attr('style', 'display:none !important')// Maak het onzichtbaar
} else // Als milestone onzichtbaar is, dat word milestone zichtbaar
{
array.push(value);
document.cookie = "milestones=" + array;
$('.' + name + 'fase').attr('style', 'display:table-row !important')
}
}
</script>

可以看到我的参数(名称和值)

为什么我无法在我的 JS 函数中获取我的参数??任何人都可以帮助我解决这个问题或有任何解决方案。

最佳答案

您需要引用传递给 javascript 函数的字符串,否则它会认为它们是 javascript 变量。由于您已经同时使用单引号和双引号,因此您需要转义引号。在这种情况下,模板化或使用 HTML 然后插入 PHP 变量会使事情变得更容易。

echo '<td><a href="javascript:keuzeGebruiker(\'milestone'.$milestone[0]['milestone_id']. '\',\''.$milestone[0]['milestone_id'].'\');">' . $milestone[0]['milestone_titel'] . '</a></td>';

关于javascript - 传递给 JS 函数的 PHP 变量不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46690300/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com