2017-09-04 7 views
-4

私のPHP whileループでJavaScriptを実行しようとしていますが、動作していません。 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では "#check'1" " – Max

+0

のようなIDを使用していますが、ボタンを隠して表示していません。 –

答えて

1

jqueryclick機能を使用して、選択した行を識別するためにはJavaScriptのthisを使用しています。 1つの静的な値を変更して、同じことをする複数の関数を持つべきではありません。 nは、要素の値としてあり、それに私はあなたのidを取得しています同じように得るものは何でも

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

ストア:ここで私はあなたの問題のほとんどを解決すると思うラフな実装です。

+1

私はあなたがJSのものでうまく働いたことを知らなかった。私はJSの男ですが、それは私にとっては良い賭けのように見えます。 –

+0

@ Fred-ii-最小限ではありません。 – chris85

+0

まあ、あなたは100を打っているようです;-) –

関連する問題