gpt4 book ai didi

php - 在 PHP 内的 HTML 表内的 JQuery 内嵌入 php ...不会触发

转载 作者:行者123 更新时间:2023-12-01 05:06:20 27 4
gpt4 key购买 nike

具体问题位于(很长)序言的末尾。抱歉,我试图让它尽可能短。 (花了一个多小时写这个问题)。

.php 文件使用 (php) 函数读取 SQL 数据库中的行并动态创建 HTML 表。

对于每一行,SQL 数据通过 $book['id'] 返回, $book['code'] , $book['description']

$book['code'] 是一个两个字符的字母数字 ID,例如。 B7或DW

在 HTML 中,每一行都是 <td></td>包含带有 onclick= 事件的 anchor 标记,该事件运行 JQuery 脚本(以显示/隐藏该行的元素)。

假设单击了几行或几行,并且嵌入的 JQuery 脚本隐藏了一些元素(顺便说一句,该脚本工作正常)

当用户查看不同的页面然后返回到此页面时,隐藏元素(被 JQuery 脚本隐藏)将不再隐藏。

我希望保留字符串 $book['code']每个单击的行和 d 的值,返回第一页后,解析该字符串以重置隐藏元素。

<?php
function render_row_from_mysql() {
$output .= '
...create header row...

foreach ($books as $book)
{
create table row cells 1, 2, 3, 4
after cell 4:
<td>
<a id="addToShelf.php" onclick="
jQuery.ajax(\'./addToShelf.php?id='.$book['id'].'ats'.'\');
jQuery(addToShelfLink'.$book['id'].')[0].style.display = \'none\';
jQuery(rfs'.$book['id'].')[0].style.display = \'block\';
jQuery(mt'.$book['id'].')[0].style.display = \'none\';
jQuery(grn'.$book['id'].')[0].style.display = \'block\';
return false;
">
add to bookshelf
</a>
</td></tr>' ;
}
}

问题:

  1. 为什么上面工作正常的 JQuery 代码不需要右括号?

  2. 在 anchor 标记中创建/更新 var 的语法是什么,这将保留累积的点击行数据?我之所以这么问,是因为我的多次尝试都破坏了代码。

  3. 是否应该在函数顶部、foreach 循环之前初始化 var?

  4. 我尝试使用 PHP 创建/更新 cookie,方法是在“return false;”之后插入以下代码(见下文)。下面的 php 代码在粘贴到单独的脚本进行测试时确实创建一个 cookie。)php 代码不会触发。为什么?

最佳答案

答案是:

1)仍然不确定,只是语法。

2) 正如 Q4 中提到的,我一直在“return false;”之后输入代码。语句,这是 onclick 事件的结论。因此,任何放置在“return false;”之后的代码不会作为 onclick 事件的一部分触发...并且没有其他任何东西可以使它触发。

3) 不相关

4a.) 上面的代码是在 PHP 代码块内创建的——无法在由 PHP 创建(即已经在内部)的 HTML 内的 JQuery 内创建 PHP 代码块。4b.)进一步回答(2),我的alert()测试不会触发,因为它们遵循“return false;”陈述,4c.) 任何新的 PHP 代码都必须从 HTML 中移出,并与 PHP 的其余部分一起放回,例如在 function(render_row_from_mysql){} 上方。

现在“回到绘图板”,以弄清楚如何在用户离开此页面和返回此页面之间保留“单击的项目”数据。此时,我怀疑这将是某种 FORM $POST 事件,但之前从未做过,我不确定那会是什么样子。

关于php - 在 PHP 内的 HTML 表内的 JQuery 内嵌入 php ...不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5451281/

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