Ich bin auf der Suche nach einem div auf meiner Website, wo der Inhalt basierend auf dem Link clicked
ohne Aktualisierung ändert. Der Inhalt kommt von einer MySQL database
und es wird in JSON eingefügt. Mein Problem ist, dass ich die JSON-Daten nicht anzeigen kann, wenn ich auf die Links klicke.Erstellen dynamischer div Inhalt mit jquery
Hier ist das Skript Ich verwende:
$(document).ready(function() {
$.getJSON("jsondata.php",rightSideData);
function rightSideData(data) {
for(var i=0; i<data.length;i++) {
$("#changetext"+data[i].id).click(function() {
$("#rightside").html("<h1>" + data[i].title + "</h1><p />" + data[i].content);
});
}
}
});
Dies ist das div
Element, das zu ändern hat:
<div class='rightside' id='rightside'>Test</div>
Die Verbindungen aufgebaut sind, auf diese Weise:
echo "<a id='changetext" . $row['id'] . "'> ";
echo "<div class='tile'>";
echo "<h2>Tile</h2></div></a>";
Ich habe die verschiedenen Elemente getestet und sie funktionieren gut (Ändern der divs cont mit fest codierten Daten, Anzeige der JSON-Daten), aber ich habe eine harte Zeit herauszufinden, warum die kombinierte Sache nicht funktioniert.
Während Ihre aktualisierten Code ist klarer, aber es zeigt nur den Titel. Da ich so neu dazu bin, kann ich den Fehler nicht finden ... –
@Freezzo - Das ist mein Fehler, mit den meisten jQuery Methoden können Sie mehrere Elemente hinzufügen, wie '.append (elem1, elem2, elem3)', aber 'html()' akzeptiert nur ein Element, das es scheint, also müssen wir die zwei Elemente zusammenfügen, um ein Element zu erstellen, bearbeiteten die Antwort. – adeneo