peterS.: Tabelleninhalte dynamisch verändern....

Beitrag lesen

gruss Robert,

falls Du dynamisch in <layer>/<div>s schreiben darfst und willst,
koennte Dir ein blick auf folgenden feature-artikel helfen:
http://www.teamone.de/selfaktuell/artikel/jstable.htm

dort wird eine javascript-basierte klasse "table" vorgestellt;
mit den dort implementierten methoden sollte es moeglich sein,
tabellen-code kurz und schmerzlos zu erzeugen;

diesen code muesstest Du dann nur noch in den entsprechenden
layer / in das entsprechende div hineinschreiben - fertig;

und hier ein beispiel zur verdeutlichung:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>

<head>
<title>was auch immer hier stehen soll</title>
<script language = "JavaScript" type="text/javascript">
<!--
// **************************************************************************************
// *********** hier muss der JavaScript-code des table-objekts notiert werden ***********
// ***********                                                                ***********
// *********** http://www.teamone.de/selfaktuell/artikel/jstable.htm#a12      ***********
// ***********                                                                ***********
// *********** wird hier aber der uebersichtlichkeit halber weggelassen       ***********
// **************************************************************************************

function refreshTableContent()
  {var myTable = new table('cols="6"','rows="10"','border="??"','bgcolor="#??"','cellspacing="0"','cellpadding=..','...', ... ,'name="testTable"','id="testTable"');
   myTable.contentArraysToArguments();

//in abhaengigkeit von dieser und jener bedingung
   //lege die gewuenschten eigenschaften und inhalte
   //der betroffenen tabellenzellen fest - z.b.:
   // {
       myTable.contentArraysToArguments();
       myTable.content[8][2].value = "hallo Du";
       myTable.content[2][0].value = myTable.name;
       myTable.content[3][5].value = myTable.cols;
       myTable.content[4][5].value = myTable.rows;
       myTable.content[1][1].props = 'colspan="3"';
       myTable.content[1][1].value = 'colspan="3"';
       myTable.content[2][4].props = 'rowspan="3" width="100" height="100" align="right" valign="bottom"';
       myTable.content[2][4].value = 'rowspan="3"';
       myTable.content[3][1].props = 'colspan="3" rowspan="4"';
       myTable.content[3][1].value = 'colspan="3" rowspan="4"';
   // }

myTable.contentArgumentsToArrays();

if (document.layers)
      {document.myTableLayer.document.open("text/html");
       document.myTableLayer.document.write(myTable.draw());
       document.myTableLayer.document.close();
      }
   if (document.all)
      {document.all.myTableLayer.innerHTML = write(myTable.draw());}
  }
//-->
</script>
</head>

<body>
<!--
       was auch immer hier stehen soll
       ...
       ...
       und dann muss noch
       der layer / das div
       aus dem beispielcode
       weiter oben fest
       "verdrahtet" werden
-->

<div id="myTableLayer" style="position:absolute;top:??px;left:??px;z-index:??;visibility:visible;">
    <!--
    deine "default"-tabelle
    -->
</div>

<!--
       bei dem von Dir angesprochenen
       onclick/onchange-event solltest
       Du dann die funktion "refreshTableContent()"
       aufrufen
-->
</body>

</html>

und hier der link zur js-table-klasse:
http://www.teamone.de/selfaktuell/artikel/jstable.htm#a12

viel spass - by(t)e by(t)e - peterS. - pseliger@gmx.net