2017-10-13 18 views
0

アンカーに警告が表示されない理由をクリックします。jqueryのクリック機能からPHPの動的IDを取得する方法

<td id="hovercolor"> 
    <a class="tt" style="text-decoration: 
none;color: black;" href="javascript:void(0);" id="<?php echo 
$data->id; ?>"></a> 
    <?php echo $data->title; ?> 
</td> 

私は警告を取得するために使用していますスクリプトは次のとおりです。

<script type="text/javascript"> 
    $('#new1').click(function() { 
     alert('ok'); 
    }); 
</script> 
+3

ここでIDは「new1」ですか? '$ data-> id'はnew1か1だけを出力しますか? –

+0

あなたは答えを試しましたか? –

答えて

0

まずあなたが複数のアイテム

を持っている場合は、2番目のクラスを使用したい場合があり、書類準備文の中で、あなたのコードをラップ
<script type="text/javascript"> 
    $(function(){ 
      $('.tt').click(function() { 
       alert('ok'); 
      }); 
    }) 

    </script> 
+0

動的に追加された要素のイベントハンドラをアタッチするには '.on'メソッドを使うべきです(答えは要素が動的だと思います)。 –

+0

@ Alexandru-IonutMihai彼は動的に要素を追加していないので、イベントの委任は必要ありません – madalinivascu

0

IDが正しいと仮定すると、.on()を使用して、動的に作成された要素を選択することができます。そして、ID以来、あなたはリンクのための独自のクラスを作成し、あなたのコードスニペットに二つのことを変更する必要があります代わりに

$('table').on('click', '.unique_link_class', function() { 
    alert('ok'); 
}); 
0

を、それを使用する必要があり、動的です:

1)私は信じ$データ - > idは整数値を出力するので、代わりにクラスを使用することをお勧めします。class="tt"

2)2番目の変更は、document.ready jquery関数内に配置する必要があります。したがって、更新されたjqueryコードは、次のようになります。

$(document).ready(function(){ 
    $('.tt').on('click',function(){ // Notice that I have used `on` here 
     alert(); 
    }); 
}); 
+0

私の答えとあなたの答えとの違いは何ですか?あなたはオンを使用して、私はクリックを使用しますか?彼らは同じことをします – madalinivascu

+0

実際に私たちの答えはほとんど同じですが、私はそれを詳しく説明しました。古いバージョンのjqeury '.click'がそこにありましたが、今は' on'を使う必要があります。私が私の答えを書いていた質問を読んだとき、私はあなたが答えを投稿したことを知らなかった。私が私のところに投稿したとき、私はそれを見た。 –

+0

クリック機能で償却フラグが表示されないhttps://api.jquery.com/click/ – madalinivascu

0

idの代わりにクラス名を使用してください。あなたのIDは整数かもしれません。

<script type="text/javascript"> 
      $('.tt').click(function() { 
       alert('ok'); 
      }); 
</script> 
関連する問題