我试图在我的php循环中运行一个javascript但它不起作用, 我想要的是,当我点击带有id检查的按钮时,它将隐藏该按钮并显示id更改但不起作用的按钮 这是我的代码
<?php
$s = mysqli_query($conn, "SELECT * FROM test");
while($d = mysqli_fetch_array($s))
{
$id = $d['id'];
echo '
<button id="check'.$id.'" onclick="respond('.$n.');">check'.$id.'</button><br>
<button id="change'.$id.'" style="display:none;">change'.$id.'</button>
';
}
?>
<script>
function respond(username)
{
$("#check'"+<?php echo $id; ?>"'").hide();
$("#change'"+<?php echo $id; ?>"'").show();
$.post("ana.php",
{
username:username
});
}
</script>
答案 0 :(得分:1)
使用jquery
的{{3}}功能,并使用javascript&#39; click
来识别所选行。你不应该有多个函数做同样的事情,1个静态值被改变。这是一个粗略的实现,我认为这将解决您的大部分问题:
<?php
$s = mysqli_query($conn, "SELECT * FROM test");
while($d = mysqli_fetch_array($s))
{
$id = $d['id'];
echo '<button class="respond" id="check'.$id.'">check'.$id.'</button><br>
<button id="change'.$id.'" style="display:none;">change'.$id.'</button>';
}
?>
<script>
$('.respond').click(function() {
var id = $(this).attr('id').replace('check', '');
$("#check" + id).hide();
$("#change" + id).show();
$.post("ana.php", {username:username});
});
</script>
将n
作为元素中的值存储,并以与获取id
相同的方式获取它。