我编写了一个搜索代码,通过 PHP 显示我的 MySql 数据库中的数据。这是一个包含描述、价格、涵盖的主题等的书籍列表......其中一些是基本的,需要立即看到(例如标题、价格),一些更复杂,不需要展示,除非用户要求(例如描述、评论者等...)。
我希望通过单击基本文本并下拉更复杂的文本来完成此操作。我选择了 Jquery 的“slidetoggle”功能,将基本文本包含在“basic”div 中,单击它时,会出现第二个“more”div。
它对最佳结果有效,但对任何进一步的输出无效,几乎就好像脚本在第一组 div 之后停止,并且没有继续为其他结果工作。
我希望这是有道理的,这是我的代码 -
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js">
$(document).ready(function(){
$("#basic").click(function(){
$("#more").slideToggle("slow");
});
});
</script>
和 echo -
echo "
<div id='basic'>
<img src='/ctr/$pic'>
$name - $topic - $format - $mark - $price
<div id='more' style='display:none;'>
$description - $gender - $age - $reviewer
</div>
</div>
<hr>
";
我去掉了大部分格式以使其更清晰,我很高兴单击 div 可能不是显示更多数据的最佳方式。
我也试过将 java 放入“echo”部分,但这同样意味着最重要的结果有效,但没有其他结果。
我猜我可能需要某种循环函数,使用 num_rows 指令进行更改或单独重命名每个 div 的方法,即 basic1、basic2、basic3,但我确信必须有更简单的方法来这样做。
非常感谢任何帮助或指向教程/其他已回答问题的链接。
最佳答案
我想这只适用于第一个项目,因为当您应该为您的 div 使用一个类时,您使用了一个 id。 ID 只能在页面上使用一次,而类可以多次使用。试试这个 jQuery:
$(document).ready(function(){
$(".basic").click(function(){
// restrict selection to just the children of this (.basic div)
$(".more", $(this)).slideToggle("slow");
});
});
用这个 php:
echo "
<div class='basic'>
<img src='/ctr/$pic'>
$name - $topic - $format - $mark - $price
<div class='more' style='display:none;'>
$description - $gender - $age - $reviewer
</div>
</div>
<hr>
";
关于php - 在 PHP 中使用 ' echo ' 时,jquery 仅适用于顶级 SQL 搜索结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6846825/