我有一个 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/