2009-06-05 12 views
0

Ich bin sehr neu in JQuery, so wird dies wahrscheinlich lächerlich klingen, aber ich habe ein Formular, das Daten über AJAX in einen Div-Abschnitt auffüllt. Das Problem, das ich habe, ist, dass ich einen Link habe, wo ich auf einige Tabellenzeilenattribute zugreifen muss, die während der AJAX-Aktualisierung auf die Seite gerendert werden, aber die Attribute sind alle nicht definiert gemäß meinen von mir eingerichteten Benachrichtigungen. Weiß jemand, wie ich in der Live-Abfrage wieder auf diese Daten zugreifen kann? Unten ist der Code.Attribute undefined beim Zugriff über JQuery LiveQuery

//Rebind anchor tags for add links. 
$('a[class=add_player]') 
    .livequery('click', function(event) { 

    var parentRow = $(this).parent().parent();   
    //Pulling player information from table row tag 
    var playerID = parentRow.attr("player_id"); //playerID is 'undefined' when alerted. 

    refreshPlayer(playerID); 
}); 

HTML

<tr player_id="123"> 
    <td><a class="add_player">Tester</a></td> 
</tr> 
+0

Sind Sie sicher, dass Sie das richtige Element verweisen? Ihr Code sieht korrekt aus. Hast du Firebug benutzt, um es zu debuggen? – kgiannakakis

+0

Ich habe Firebug noch nicht aktiviert, aber ich bin ziemlich sicher, dass ich das richtige Element referenziere. Als eine FYI für alle, der obige Code ist eingebettet, unmittelbar nachdem die AJAX-Antwort geladen wurde und nicht in einem document.ready-Block. Ich bin mir nicht sicher, ob das wichtig ist oder nicht. –

Antwort

1

So wie ich diese Arbeit haben dies, livequery() für die jetzt nativen live() verlassen:

$('a[class=add_player]').live('click', function(event) { 
    var playerID = $(this).closest('tr').attr('player_id');     

    alert(playerID); 

    refreshPlayer(playerID); 
    return false; 
});