hallo liebe forengemeinde,
hab wieder mal ein problem, aber eher ein darstellungsproblem.
ich hab mittels appendchild und createelement eine tabelle erzeugt, wo ich meine auflistung darstelle.soweit funktioniert es auch.
danach soll durch ein button (wenn man es drückt), die anzahl verringert werden und wenn es den wert 0 hat, die ganze zeile gelöscht werden.das macht er auch wunderbar.
nur wenn es die eine zeile halt löscht, dann macht er zwischen der vorherigen zeile und der nachfolgenden zeile eine spalte rein (schätze eine größe von 1px). hab ihm aber beim erstellen der tabelle "gesagt", dass er keine zwischenräume zu setzen hat. was mache ich falsch bzw wo liegt der fehler?
hier der javascript auszug:
function LöschenInfileZusatz( infile_zusatz_tmp, infile_zusatz_anzahl_tmp )
{
//--> Einfügen einer neuen Tabelle bei ID = msgs für die Zusatzmatten
table = document.createElement( "table" );
table.className = "table2";
tbody = document.createElement( "tbody" );
tbody.id = "Tabelle";
table.appendChild( tbody );
document.getElementById( "msgs" ).appendChild( table );
for( var i = 0; i < infile_zusatz_tmp.length; i++ )
{
tr = document.createElement( "tr" );
td1 = document.createElement( "td" );
td2 = document.createElement( "td" );
td3 = document.createElement( "td" );
td4 = document.createElement( "td" );
newTDText1 = document.createTextNode( infile_zusatz_tmp[i] );
newTDText2 = document.createTextNode( "x" );
newTDText3 = document.createTextNode( infile_zusatz_anzahl_tmp[i] );
input = document.createElement( "input" );
input.type = "button";
input.value = "x";
input.className = "STL_Meldungen_Button";
document.getElementById( "Tabelle" ).appendChild( tr );
TAB = document.getElementById( "Tabelle" );
td11 = TAB.getElementsByTagName( "tr" )[i].appendChild( td1 );
td22 = TAB.getElementsByTagName( "tr" )[i].appendChild( td2 );
td33 = TAB.getElementsByTagName( "tr" )[i].appendChild( td3 );
td44 = TAB.getElementsByTagName( "tr" )[i].appendChild( td4 );
td11.width = "120";
td11.className = "Zusatzliste";
td22.width = "25";
td22.align = "center";
td22.className = "Zusatzliste";
td33.width = "25";
td33.align = "center";
td33.className = "Zusatzliste";
td33.id = i;
td44.width = "10";
td44.className = "Zusatzliste";
td11.appendChild( newTDText1 );
td22.appendChild( newTDText2 );
td33.appendChild( newTDText3 );
td44.appendChild( input );
};
var ZusatzListe = document.getElementById( "Tabelle" );
var ZusatzListeItems = ZusatzListe.getElementsByTagName( 'input' );
for( var i = 0; i < ZusatzListeItems.length; i++ )
{
var ZusatzListeItem = ZusatzListeItems[i];
ZusatzListeItem.onclick = function(i) {
return function() {
infile_zusatz_anzahl_tmp.splice( i, 1, (infile_zusatz_anzahl_tmp[i]-1) );
var newTDText = infile_zusatz_anzahl_tmp[i];
//alert( infile_zusatz_anzahl_tmp[i] + ' // ' + i + ' // ' + ZusatzListeItems.length );
document.getElementById( i ).firstChild.replaceData( 0, document.getElementById( i ).firstChild.nodeValue.length, newTDText );
if( infile_zusatz_anzahl_tmp[i] == 0 )
{
while( TAB.getElementsByTagName( "tr" )[i].childNodes.length > 0 )
{
TAB.getElementsByTagName( "tr" )[i].removeChild( TAB.getElementsByTagName( "tr" )[i].firstChild );
};
};
};
}(i);
};
};
heri wird die tabelle erstellt und die anzahl mittels button-drücken gelöscht.
und hier sind die css-anweisungen dazu:
.table2 { border-spacing:0; border-collapse:collapse; margin-top:0px; border:1px solid black }
.ZusatzListe { border:1px solid black; vertical-align:middle; margin-top:0px; border-collapse:collapse }
ich hoffe ihr könnt nun was damit anfangen.
ps: kann mir einer sagen, wie ich eine testseite für euch erstelle?damit ihr sehen könnt wo ich welches problem habe? wäre dankbar.
lg romero