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)
这根本不适合我喜欢的方式.它显示每个数组元素的单独链接,但是当我单击第一个时,它只显示所有三个数组元素,而不仅仅是预期的数组元素.其他两个链接什么都不做.
任何帮助都会受到赞赏,我的方法甚至可能完全是错误的方式,所以请引导我以正确的方式.
谢谢
我不知道你想要实现什么,但你应该分开关注点[即不要让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中重复.