jQuery cas, pas de tir

J'ai 3 fichiers:

  • js_json.js -> pour mon code json
  • javascript.js -> pour mon javascript
    fonction
  • index.php

Ici le code pour js_json.js:

$(function(){
    $('#postTitle').change(function(){

        var title_id = $("#postTitle").val();


        $.ajax({
            type:"post",
            url:"proses.php",
            data:"title_id=" + title_id,
            dataType:"json",
            success:function(data){
                body="";
                //$.each(data, function(i,n){
                    //body = n['body'];    
                //});
                body += "<a href=\"javascript:void(0);\" id=\"pesan\" name="pesan" onClick=\"\">Hola Test</a>";
                $(".postBody").empty();
                $(".postBody").append(body);
            },
            error:function(data){
                $(".postBody").empty();
                $(".postBody").append("NO Post Selected.");
            }

        });
        return false;
    });
});

et voici mon javascript.js code:

$(function (){
    $("a[name=pesan]").click(function (){
        alert("holalalalalal.....!");    
    });
});

et ici le index.php code:

    //some code
    <body>
        <a href="javascript:void(0);" id="pesan" name="pesan">Hola Test 1</a>
        Posts : <br />
        <select name="title" id="postTitle">
            <option value="">Select Post...</option>
            <?php
                $sql = "SELECT id, title FROM posts ORDER BY title";
                $query = mysql_query($sql) or die(mysql_error());

                while($rows = mysql_fetch_array($query)){
                    print('<option value="' . $rows['id'] . '">' . $rows['title'] . '</option>');
                }
            ?>
        </select>
        <br />
        Body : <br />
        <div class="postBody">
            Will show the body of post.
        </div>
    </body>
</html>

et ma question est:

Lorsque je clique sur le lien "Hola" Test 1", il fonctionne, et le message s'affiche. Le problème, c'est après que j'ai cliquez sur l'option sélectionner, et le lien "Hola Test" s'affiche, puis je clique sur ça ("Hola Test") lien, le message ne s'affiche pas et il n'y a pas d'erreurs dans firebug...

Quelqu'un peut-il m'expliquer pourquoi...? Merci...

Utilisation .live() que @Matt répondu, mais gardez à l'esprit qu'il est incorrect d'utiliser le même id dans une page plus d'une fois (les id sont uniques), et sera plus que probablement causer d'autres problèmes à l'avenir..
merci pour les conseils...

OriginalL'auteur Sindhu13 | 2011-05-30