我在php中有一个foreach循环,如下所示。
<?php
$i = 0;
foreach ($query as $value) { ?>
<button id="show[<?php echo $i;?>]" class="btn btn-success" type="button">View</button>
<div id="blah[<?php echo $i;?>]">Joel</div>
<?php
$i++
} ?>
现在这个循环工作正常,我为每个具有唯一ID的按钮和div获取id。但我想添加一个jquery点击功能,如下所示。
$("#show").click(function(){
$("blah").hide();
});
但是因为它在一个循环中并且与它们有不同的id如何为每个按钮添加这个jquery函数?
答案 0 :(得分:9)
$(".btn").click(function(){
var id = $(this).attr('id');
var n = id.replace("show",'');
$("#blah"+n).hide();
});
同样用此代码替换您的按钮
<button id="show-<?php echo $i;?>" class="btn btn-success" type="button">Clear</button>
<div id="blah-<?php echo $i;?>">Joel</div>
答案 1 :(得分:3)
for php:
<?php foreach ($query as $key => $value) {?>
<button class="btn btn-success blah-toggler" type="button" data-target="blah-<?php echo $key ?>">
<div id="blah-<?php echo $key ?>">Joel</div>
<?php }?>
然后在jquery中:
$(".blah-toggler").on("click", function(){
var t = $(this);
$('#' + t.data('target')).hide();
});
答案 2 :(得分:2)
你应该使用以下
PHP:
<?php
$i = 0;
foreach ($query as $value) { ?>
<button id="show[<?php echo $i;?>]" class="btn btn-success clickEvent" type="button">
<div id="blah[<?php echo $i;?>]">Joel</div>
<?php
$i++
} ?>
这里你要添加class =&#34; clickEvent&#34;按钮。最后,你将拥有包含以下内容的jScript文件。当点击该类的按钮时,它会注意应该发生的事情。
jQuery的:
$(".clickEvent").click(function(){
$(this).next('div').hide();
});
答案 3 :(得分:2)
使用课程
<button id="show[<?php echo $i;?>]" class="btn btn-success mybutton" type="button">
然后
$(".mybutton").click(function(){
$("blah").hide();
});
答案 4 :(得分:2)
或者您也可以使用课程。通常是:
<?php $i = 0; ?>
<?php foreach ($query as $value): ?>
<button class="btn btn-success toggle" type="button">
<div id="blah[<?php echo $i;?>]">Joel</div>
</button> <!-- missed a closing button tag -->
<?php $i++; ?>
<?php endforeach; ?>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.toggle').on('click', function(){
$(this).children('div').hide();
});
});
</script>
答案 5 :(得分:2)
PHP:
<?php
$i = 0;
foreach ($query as $value) { ?>
<button id="show_<?php echo $i;?>" onclick=show(this.id) class="btn btn-success" type="button">
<div id="blah_<?php echo $i;?>">Joel</div>
<?php
$i++
} ?>
的javascript:
function show(id)
{
var arr = id.split('_');
$("#blah_"+arr[1]).hide("slow");
}