在PHP foreach循环中使用jQuery函数

Ahm*_*eed 0 javascript php foreach jquery

我有一个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>
Run Code Online (Sandbox Code Playgroud)

这根本不适合我喜欢的方式.它显示每个数组元素的单独链接,但是当我单击第一个时,它只显示所有三个数组元素,而不仅仅是预期的数组元素.其他两个链接什么都不做.

任何帮助都会受到赞赏,我的方法甚至可能完全是错误的方式,所以请引导我以正确的方式.

谢谢

moo*_*e99 5

我不知道你想要实现什么,但你应该分开关注点[即不要让php至少直接与js混淆].

考虑通过data-*属性注入你的值,然后通过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>
Run Code Online (Sandbox Code Playgroud)

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