2017-09-04 76 views
-4

我试图运行一个JavaScript内我的PHP while循环,但它不工作, 我想要的是,当我点击与ID检查按钮,它会隐藏该按钮并显示出与ID更改按钮,但它不工作 这是我的代码我的jQuery不工作在我的PHP while循环

<?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

它以什么方式不起作用?您是否收到特定的错误讯息?什么都没有发生?它召唤不死生物的嚎叫吗? –

+0

你的按钮id像这个check1但在jquery你使用这样的id“#check'1'” – Max

+0

不,但它不隐藏和显示按钮 –

回答

1

使用jqueryclick功能,并使用JavaScript的this标识选定行。你不应该有多个功能做同样的事情,改变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相同的方式。

+1

我不知道您在JS中的工作情况良好。我不是JS的家伙,但对我来说这看起来是一个不错的选择。 –

+0

@ Fred-ii-极少,不经常。 – chris85

+0

好吧,你似乎击球100 ;-) –