jQuery-Ereignis nicht auslösen.

Habe ich 3 Dateien:

  • js_json.js -> für meine json-code
  • javascript.js -> für meine javascript
    Funktion
  • index.php

Hier der code für 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;
    });
});

und hier meine javascript.js code:

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

und hier die 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>

und meine Frage ist:

Wenn ich auf den link "Hola" Test 1", es funktioniert und die Meldung erscheint. Das problem ist, nachdem ich klicken Sie auf die option wählen und den link "Hallo Test" angezeigt, und ich klicke dann, dass ("Hallo Test") - Verbindung, die Nachricht wird nicht angezeigt, und es sind keine Fehler im firebug...

Kann jemand mir erklären, warum...? Danke...

  • Verwenden .live() als @Matt geantwortet, aber im Hinterkopf behalten, dass es ungültig ist, verwenden die gleiche id auf einer Seite mehr als einmal (ids eindeutig sind), und mehr als wahrscheinlich andere Probleme verursachen in der Zukunft..
  • vielen Dank für die Beratung...
InformationsquelleAutor Sindhu13 | 2011-05-30
Schreibe einen Kommentar