我正在使用 PHP 从 MySQL 中提取一些数据,并且需要将 ID 作为参数传递给 onClick() 方法。
while($row = mysql_fetch_array($result))
{
echo '<a href=# onclick="showFilm('<?php echo $row['ID'] ?>')">' .
$row['Title'];
}
我在echo
语句中遇到语法问题。我究竟做错了什么?
我正在使用 PHP 从 MySQL 中提取一些数据,并且需要将 ID 作为参数传递给 onClick() 方法。
while($row = mysql_fetch_array($result))
{
echo '<a href=# onclick="showFilm('<?php echo $row['ID'] ?>')">' .
$row['Title'];
}
我在echo
语句中遇到语法问题。我究竟做错了什么?
是的,您正在尝试在一行 php.ini 中打开一个 php 标签。做这个
echo '<a href="#" onclick="showFilm(' . $row['ID'] .')">' . $row['Title'] . '</a>';
还有一个</a>
你错过的结束。理想情况下,您不会使用 onclick ,但这不是您所要求的,也不会在那里中断。哦,应该引用 href 的值。
所以,既然你问了,假设你想使用 jQuery 而不是 onclick
echo '<a href="#" class="showfilm" data-filmid="' . $row['ID'] .'">' . $row['Title'] . '</a>';
您需要包含 jquery 库。请参阅此http://docs.jquery.com/How_jQuery_Works,您需要在单独的 js 文件之前</body>
或在单独的 js 文件中使用自己的脚本。
<!-- the rest of your html blah blah -->
<script src="jquery.js"></script>
<script src="your-other-js-funcs.js"></script>
<script>
$(function(){
$('.showfilm').on('click', function(e){
e.preventDefault(); // stops the link doing what it normally
// would do which is jump to page top with href="#"
showFilm($(this).data('filmid'));
});
});
</script>
</body>
</html>
另一种方式:
<?php while($row = mysql_fetch_array($result)) { ?>
<a href=# onclick="showFilm('<?php echo $row['ID'] ?>')"> <?php echo $row['Title'] ?> </a>
<?php } ?>
不要忘记在最后关闭 a 标签。在您的代码中没有看到它。
你的 HTML
<?php while($row = mysql_fetch_assoc($result)): ?>
<a href="#showFilm" data-film-id="<?php echo $row['ID'] ?>">
<?php echo $row['Title'] ?>
</a>
<?php endwhile ?>
你的 jQuery
$('a[href=#showFilm]').click(function(event) {
showFilm( $(this).attr('data-film-id') );
event.preventDefault();
});