php - 在 PHP foreach 循环中使用 jQuery 函数

标签 php javascript jquery foreach

我有一个 PHP 元素数组

现在我想为每个数组元素创建一个链接或按钮,单击时,数组值应该出现在特定的 div 内。

这是我的代码:

<?php
$array = array('apple', 'banana', 'orange');
foreach($array as $element) {
?>
    <a href="#" onclick="return false;" id="showElement"><?php echo $element; ?></a><br />
    <script type="text/javascript" charset="utf-8">
    $(document).ready(function(){
        $("#showElement").click( function() {
            $("#hot").append('<?php echo $element; ?><br />');
        });
    });
    </script>

    <?php
    }
    ?>
    <div id="hot"></div>

这并没有按照我想要的方式工作。它显示每个数组元素的单独链接,但是当我单击第一个元素时,它只显示所有三个数组元素,而不是仅显示预期的元素。另外两个链接没有任何作用。

任何帮助将不胜感激,我的方法甚至可能是完全错误的方法,所以请引导我走向正确的方法。

谢谢

最佳答案

我不知道你实际上想要实现什么,但你应该分开关注点[即至少不要让 php 直接搞乱 js]。

考虑通过 data-* 属性注入(inject)您的值,然后通过 jQuery 检索它们,如下所示:

<?php foreach($array as $element): ?>

    <a href="#" class="yourClass" data-value="<?php echo $element; ?>"><?php echo $element; ?></a>

<?php endforeach; ?>

<div id="target"></div>

<script>

$(function(){

    var $target = $('#target')

    $('.yourClass').click(function(e){

        e.preventDefault()

        $target.append( $(this).data('value') )

    })

})

</script>

请记住,id 属性应该是唯一的,并且不能在整个 DOM 中重复。

关于php - 在 PHP foreach 循环中使用 jQuery 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14084023/

相关文章:

php - 如何从数据库中拆分一个长文本以在 php 中将其显示为不同的段落?

php - 使用单个 mysql 查询检查 child 是否是后代

javascript - 计算函数执行时间

javascript - 为什么 jQuery 对我的所有列表元素应用点击阻止

php - php中的用户权限(和多用户登录表单)

php - Mamp - 让 Gzip 工作

javascript - 如何添加淡入淡出

javascript - Bootstrap - 为每个环境调整按钮和文本字段的动态高度

Javascript 在另一个函数中使用返回值

javascript - 导航不会在移动设备中折叠