Hallo Leute,
ich habe folgendes Problem. Ich möchte dynamisch mit Hilfe von Javascript zu meiner Tabelle per Knopfdruck eine oder mehrere Zeile(n) hinzufügen. Der Clou an der Sache soll sein, dass ich die gerade eben erstellte Zeile gleich wieder löschen (fadeout) kann.
Das Erstellen und Löschen einer Zeile ist bisher kein Problem gewesen. Nur funktioniert es nicht dynamisch siehe Code. Ich habe jquery verwendet.
Hat jemand eine Idee warum ich die dynamschi erstellte Zeile nicht gleich wieder löschen kann? Es werden doch alle nötigen Parameter übergeben. Gibt es da vielleicht ein Zusammenhang mit <tbody>?
Drück einfach mal den Link Test Album anlegen und versucht diese Zeile dann per Link "loeschen" zu loeschen.
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
function loeschen(id){var bestaetigung = window.confirm('ACHTUNG! Wollen Sie das Album mit Fotos wirklich löschen? '+id+'');
if(bestaetigung) {$(id).fadeOut();}else {exit();}}
function addRow(id,trid)
{
alert(trid);
trid++;
alert(trid);
var tbody = document.getElementById(id).getElementsByTagName("TBODY")[0];
var row = document.createElement("TR")
//tb.appendChild(newTr);
//tr bekommt id
tbody.appendChild(row).setAttribute("id", trid, 0);
var td1 = document.createElement("TD")
td1.appendChild(document.createTextNode("Spiel"))
var td2 = document.createElement("TD")
td2.appendChild (document.createTextNode("Ergebnis"))
var td3 = document.createElement("TD")
//zu loeschende trid in diesem fall die erstelle zeile tr
trid = "tr#zeile"+trid;
alert(trid);
td3.innerHTML = "<a href=\"#\" onclick=\"loeschen('"+trid+"')\">loeschen</a>";
row.appendChild(td1);
row.appendChild(td2);
row.appendChild(td3);
tbody.appendChild(row);
}
//letzte tabellen zeile
trid = 2;
</script>
</head>
<body>
<table id="test" width="98%" border="1">
<tbody>
<tr>
<th>Spiel</th>
<th>Ergebnis</th>
<th>löschen</th>
</tr>
<tr id="zeile1">
<td>Test</td>
<td>blabla</td>
<td><a href="#" onclick="loeschen('tr#zeile1')">loeschen</a></td>
</tr>
<tr id="zeile2">
<td>Test</td>
<td>blabla</td>
<td><a href="#" onclick="loeschen('tr#zeile2')">loeschen</a></td>
</tr>
</tbody>
</table>
<a href="#" onclick="addRow('test',trid)">Test Album anlegen</a>
</body>
</html>
Vielen Dank für eure Hilfe!