php - 在 PHP 中使用 ' echo ' 时,jquery 仅适用于顶级 SQL 搜索结果

标签 php jquery mysql search echo

我编写了一个搜索代码,通过 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/

相关文章:

php - PHP : Ignoring errors and notices in a specific class

jquery 日期选择器区域设置不起作用

javascript - 禁用表同一列中的所有复选框,而无需选中一个jquery

mysql - 复杂的mysql查询可能会构建子查询

mysql - Postman 无法接收来自 M 到 N 集合的 JSON

php - 如何将自定义数据发送到 Paypal 并接收回来

php - MD5 javascript 实现

javascript - 禁用所选的下拉列表值并获取下拉列表的下一个值

Jquery 禁用“下一步”按钮直到动画完成

php - 从数据库显示图像