【问题标题】:How to select a div based on its content in database?如何根据数据库中的内容选择 div?
【发布时间】:2020-06-10 15:00:52
【问题描述】:

site image基本上我有一个网站,它从数据库中提取不同的问题(其中分配了不同的唯一 ID)并将它们放在不同的 div 中。我使用 PHP 提取问题并将每个问题放在一个数组中。然后我使用 foreach 打印出不同 div 中的每个问题。我想在单击相应的 div 时为每个问题显示不同的内容。(内容存储在同一个数据库中)。我如何知道单击了哪个 div 并显示相应的内容。一个javascript解决方案将不胜感激。

【问题讨论】:

  • "我如何知道点击了哪个 div"...如果您将点击事件处理程序与 div 相关联,则处理程序回调函数中的this 将识别 div。如果 div 有一个对应于它在数据库中的 ID 的 ID,那么很容易知道它是哪一个。然后您可以使用该 ID 查找匹配的其他内容(可能在某处具有相同的 ID,可能作为数据属性),并显示它。到目前为止,您自己研究或尝试过什么?例如,您是否尝试过附加点击事件并查看它们的工作原理?
  • 谢谢,我再试一次。

标签: javascript php html database backend


【解决方案1】:

你可以通过检查这些代码做任何你想做的事情。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <title>Page Title</title>

    <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>

</head>

<body>
    <?php

    $data = [
        'question_1' => [
            'id' => 1,
            'content' => 'content text'
        ],
        'question_2' => [
            'id' => 2,
            'content' => 'content text'
        ]
    ];

    foreach ($data as $key => $value) :
    ?>

        <div data-id="<?= $value['id'] ?>">
            <!-- $value['id'] Or $key -->
        </div>

    <?php
    endforeach;
    ?>

    <script>
        $(document).ready(() => {
            let element = $('[data-id]');
            element.click((e) => {
                console.log($(e.currentTarget).data('id'));
            })
        })
    </script>
</body>

</html>


【讨论】:

    猜你喜欢
    • 2022-12-06
    • 1970-01-01
    • 1970-01-01
    • 2018-08-10
    • 2011-09-04
    • 1970-01-01
    • 1970-01-01
    • 2017-03-04
    • 1970-01-01
    相关资源
    最近更新 更多