Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z wstawianiem tabeli przez JS, Mam tabele w HTML i chcę ją wstawić...
TomASS
post
Post #1





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Witam

Mam dokument HTML a w nim:
  1. <tbody id="Tabela">
  2.  
  3. </tbody>


Na razie jest pusta.
Mam również string w JS o takiej konstrukcji:
  1. <table><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>8</td></tr>
  2. <tr><td>4</td><td>5</td></tr><tr><td>6</td><td>7</td></tr></table>

Jeśli byłoby wygodniej to można by było wygenerować inny string, chodzi mi o to, że chciałby aby dane z tego stringa (z tej tabelki) "wpasowały się" do <tbody id="Tabela">

Próbowałem rozbijać string metodą string.slice(), ale to nie wiele mi daje, ponieważ nie umiem wygenerować ciała tabeli :/
Gdyby ktoś mi podpowiedział jak, lub przy użyciu jakich funkcji to byłbym bardzo wdzięczny.

Dzięki za pomoc - jak widać w JS jestem całkiem zielony, dopiero zaczynam przygodę z JS.

Ten post edytował TomASS 1.02.2006, 10:45:50


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
LBO
post
Post #2





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


hmmm.. ja zrozumialem ze chcesz wyciagnac dane z komorek tabeli w stringu... hmm.. dobrym pomyslem byloby uciecie znacznikow TABLE (albo wogole ich nie wstawianie) a potem (same wiersze i kolumny) wstawic metoda .innerHTML().. poszukaj na forum o innerHTML tematow

to byloby cos w stylu:
Kod
document.getElementById("Tabela").innerHTML(string);


Ten post edytował LBO 1.02.2006, 16:08:50
Go to the top of the page
+Quote Post
TomASS
post
Post #3





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Hej, zrobiłem coś takiego:

  1.  
  2. <tbody id="dataTable">
  3.  
  4. </tbody>
  5. </body>
  6.  
  7.  
  8. <script type="text/javascript">
  9. function $(id){
  10. return document.getElementById(id);
  11. }
  12.  
  13. d = $("dataTable");
  14. var dane = '<tr><td>1</td><td>2</td></tr>
  15. <tr><td>3</td><td>4</td></tr>
  16. <tr><td>5</td><td>6</td></tr>
  17. <tr><td>7</td><td>8</td></tr>';
  18. var a = dane.split('</tr>');
  19. var b;
  20. var ilosc_kolumn;
  21. var ilosc_wierszy = a.length-1;
  22. gotowe = new Array();
  23. //a[i][j]
  24. //i - wiersz
  25. //j - kolumna
  26.  
  27. for(i=0;i<ilosc_wierszy;i++){
  28. a[i]=a[i].slice(4,a[i].length);
  29. }
  30.  
  31. for(i=0;i<ilosc_wierszy;i++){
  32. b = a[i].split('</td>');
  33. for(j=0;j<b.length;j++){
  34. b[j]=b[j].slice(4,b[j].length);
  35. }
  36. gotowe[i]=b;
  37. }
  38.  
  39. ilosc_kolumn = b.length-1;
  40.  
  41.  
  42. for(i=0;i<ilosc_wierszy;i++){
  43. tr = document.createElement("tr");
  44. for(j=0;j<ilosc_kolumn;j++){
  45. td = document.createElement("td");
  46. td.innerHTML = gotowe[i][j];
  47. tr.appendChild(td);
  48. }
  49. d.appendChild(tr);
  50. }

(aby działało, to linie po var dane trzeba złożyć razem w jednym wierszu - rozdzieliłem to na 4 wiersze aby lepiej wyglądało to na forum smile.gif )
i w zmiennej dane mam właśnie tą tabelę - działa, ale czy to jest najprostrzy sposób? Moze któreś z czynności można uprościc?

Ten post edytował TomASS 1.02.2006, 21:13:29


--------------------
Go to the top of the page
+Quote Post
my_identify
post
Post #4





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 5.02.2006

Ostrzeżenie: (0%)
-----


Tyle kodu blink.gif. A nie można po prostu div'a wstawić?
  1.  
  2. <div id="dataTable"></div>
  3.  
  4. </body>


i wtedy:
Kod
<script type="text/javascript">
function $(id){
return document.getElementById(id);
}

d = $("dataTable");
var dane = '<table><tbody><tr><td>1</td><td>2</td></tr>
<tr><td>3</td><td>4</td></tr>
<tr><td>5</td><td>6</td></tr>
<tr><td>7</td><td>8</td></tr></tbody></table>';

d.innerHTML=d;
</script>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 05:09