我在for循环中有一个onclick函数在PHP中。 当我点击特定的onclick功能时,我想显示特定的DIV。
这些是我的代码。
这是PHP代码
for($i = 1; $i < 10; $i++)
{
echo '<a href onclick="get_number($i)">Get Number</a>';
echo '<div class="ans_option_box" style="display:none">show this div</div>';
echo '<br>';
}
这是jQuery代码
<script>
function get_number(id)
{
$(this).find('.ans_option_box').show();
}
</script>
我真的想要,当我点击第5点onclick值。 DIV应显示在第5个值下。 提前谢谢!
答案 0 :(得分:0)
您要展示的div不是<a>
代码的子代,因此find()
无法正常工作。您将不得不更改您的html或使用不同的jQuery函数。
你需要将echo '<a href onclick="get_number($i)">Get Number</a>';
改为echo '<a href onclick="get_number(' . $i . ')">Get Number</a>';
才能真正输出php。
答案 1 :(得分:0)
在这里,你有它的工作。您必须更改PHP代码才能正确显示$i
。
此外,我更改了jQuery选择器以按ID搜索项目,因为它更容易,效率更高。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Page</title>
</head>
<body>
<?php
for ($i = 1; $i < 10; $i++) {
echo '<button onclick="get_number(' . $i . ')">Get Number</button>';
echo '<div id="' . $i . '" class="ans_option_box" style="display:none">show this div</div>';
echo '<br>';
}
?>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
function get_number(id)
{
$("#"+id).show();
}
</script>
</body>
</html>