【问题标题】:Combining jQuery with PHP结合 jQuery 和 PHP
【发布时间】:2011-05-05 20:57:34
【问题描述】:

我有一些像这样的简单 jQuery 切换脚本:

<script type="text/javascript">
$(document).ready(function() {
  $('#clickedit').click(function() {
    $('#st').toggle();
  });
});
</script>

当然,在我的 HTML 中有一些

<div id="clickedit">CLICK ITEM TO TOGGLE</div>
<div id="st">content to show/hide</div>

现在...如果我正在使用 PHP,并且我正在迭代几个“项目”并且每个“项目”都有他的内容要显示/隐藏,我无法为我的 div 设置静态 ID,因为脚本无法正常工作。我可以将某些项目的 id 分配给我的 div(例如 echo "&lt;div id='clickedit".$id."'&gt;";echo "&lt;div id='st".$id."'&gt;";),但我不知道如何在我的 jQuery 脚本中处理它们!我刚刚发现 jQuery,它很棒,但我仍然感到困惑 :) 所以任何帮助都会很棒!
提前致谢!

【问题讨论】:

    标签: php jquery iteration


    【解决方案1】:

    使用类选择器,以及一些 jQuery 的甜头!

    <script type="text/javascript">
    $(document).ready(function() {
      $('.div1').click(function() {
        $(this).next('.div2').toggle();
      });
    });
    </script>
    

    然后您的 PHP 将更改为,您可以删除您的 ID:

    echo "<div class='div1' id='clickedit".$id."'>"; and echo "<div class='div2' id='st".$id."'>";
    

    【讨论】:

    • 他需要切换的 div 很可能与可点击的 div 不相邻。 (我知道它在示例中,但如果不是,整个事情就会崩溃)。
    • 是的,当然,这可以通过选择器通配符和在 PHP 中循环时将 ID 附加到 ID 来处理。
    【解决方案2】:

    我不知道你的具体情况,但这样的事情应该可以解决问题:

    <div class="clickedit" id="clickedit123">CLICK ITEM TO TOGGLE</div>
    <div class="st" id="st123">content to show/hide</div>
    

    您将类名设置为能够一次将点击事件分配给所有这些事件,但使用 ID 为每个项目指定一个特定的 ID。

    $('.clickedit').click(function() {
        var id = this.id.replace('clickedit', '');
        $('#st' + id).toggle();
    }
    

    然后在点击事件中获取 ID,从 ID 中删除通用部分并使用 ID 找到必要的元素进行切换。

    【讨论】:

    • 哇! :) jQuery
    猜你喜欢
    • 1970-01-01
    • 2012-11-24
    • 1970-01-01
    • 1970-01-01
    • 2013-10-10
    • 1970-01-01
    • 1970-01-01
    • 2010-12-30
    • 2019-02-27
    相关资源
    最近更新 更多