具体的问题在这个(非常长的)前导码的末尾。对不起,我试图让它尽可能短。 (花了一个多小时才写出问题)。PHP内的HTML表格内的嵌入式php ...不会触发
.php文件使用(php)函数读取SQL数据库中的行并动态创建HTML表。
对于每一行,该SQL数据经由$book['id']
,$book['code']
,$book['description']
返回等
的$书[“代码”]是一个两字符的字母数字标识,例如。 B7或DW
在每行的HTML中,有一个<td></td>
,其中包含一个具有运行JQuery脚本(显示/隐藏该行的元素)的onclick = event的锚标记。
假设一对夫妇或行点击了一对夫妇的元素被嵌入的jQuery脚本(这是正常工作,顺便说一句)
当用户浏览不同的网页,然后返回到这个隐藏,隐藏的元素(被JQuery脚本隐藏)不再隐藏。
我希望为每个点击行保留一串$book['code']
值,并在返回第一页时解析该字符串以重置隐藏元素。
<?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>' ;
}
}
问题:
为什么不jQuery代码之上,这正常工作,需要关闭括号?
什么是创建/更新变种,在锚标记语法,这将保持累计点击行的数据?我问,因为我的许多尝试都破坏了代码。
如果该变种在函数的顶部被初始化,foreach循环之前?
我尝试使用PHP通过在“返回false;”之后插入以下代码来创建/更新cookie。 (见下文)。下面的php代码确实创建一个cookie时粘贴到一个单独的脚本进行测试。)PHP代码不会触发。为什么?
如果你将php和jquery代码分开,它可能会更容易。而不是在标签中写入onclick,只需添加并在类文件中添加并注册click事件...可能会使调试变得更容易。 – 2011-03-27 18:35:17