我有一个查询,它获取表中最新的10行并循环10次以回显HTML,其中包括从表中获取的一些信息,类似于下面的内容(伪代码):
query = <GET 10 LATEST ROWS FROM TABLE>
$name = <ONE VALUE FROM TABLE>;
$name2 = <ANOTHER VALUE FROM TABLE>;
echo '<div class="style1">' . $name . '</div> <a href=""><img src="image.png" /></a> <div class="style2">' . $name2 . '</div>';
我遇到的问题是,如果用户点击图片,我需要运行一些Ajax来显示基于变量$ name的另一段HTML。
问题在于,由于我正在回显表中的 10 行,如何在单击图像时获取该变量的值?
请帮忙!
答案 0 :(得分:0)
包装您需要的分组。
PHP:
<div class="style-container">
<div class="style1"><?=$name;?></div>
<a href="#"><img src="image.png"></a>
<div class="style2"><?$=name2;?></div>
</div>
然后你可以使用JS循环访问容器并获取名称,无论内部的值是什么,有或没有引号和其他特殊字符。
JS:
$('.style-container').each( function( i, el ) {
var $el = $(el),
name = $el.find( '.style1' ).text();
$el.find( 'img' ).on( 'click', function() {
$.ajax({
url : 'whatever.php',
data : { name : name }
});
});
});
注意如果使用标记是您唯一的选择,我只会这样做。您可能希望在JS标记内回显json_encode
个数据。然后,您可以迭代并使用mustache
之类的模板引擎来打印标记。然后,您可以使用AJAX根据数据而不是标记打开URL。
答案 1 :(得分:0)
根据$ name的值给每个div一个id。并使用$ name进行ajax调用以进入下一步。