Lucy: Elementinhalte dynamisch ändern - nach ZWEI Kriterien

Hallo liebe SelfHTML-Community,

Ich habe folgendes Problem:

Ich habe eine Tabelle mit einer Zelle pro Zeile. In dieser Zelle stehen zwei Wörter
(sieht ungefähr so aus:)

---------------------

Baum, natürlich
Tür, künstlich
-------------------
Zitrone, natürlich
---------------------

Jetzt möchte ich mit Hilfe von zwei links dafür sorgen, dass man selbstständig wählen kann ob man nun eine alphabethische Auflistung an Hand des ersten Wortes haben möchte, oder eine Auflistung an Hand der "Kategorien": künnstlich/natürlich.

bei meinem Versuch greife ich auf den Artikel <http://de.selfhtml.org/dhtml/modelle/dom.htm#elementinhalte@title=Elementinhalte dynamisch ändern> zurück.

Mein abgewandelter Code sieht so aus:

Javascript:

  
var geoArray = new Array(5, 4, 3, 2, 1, 0);  
var Art = "ABC";  
  
function ABC () {  
  if (Art == "ABC")  
    return;  
  Art = "ABC";  
  var dinge = new Array();  
  for (var i = 0; i < document.getElementsByTagName("td").length; i++)  
    dinge[dinge.length] = document.getElementsByTagName("td")[i].firstChild.nodeValue;  
  dinge.sort();  
  for (i = 0; i < document.getElementsByTagName("td").length; i++)  
    document.getElementsByTagName("td")[i].firstChild.nodeValue = dinge[i];  
  document.getElementById("Art").firstChild.nodeValue = "alphabetisch von A bis Z";  
}  
  
function GEO () {  
  if (Art == "GEO")  
    return;  
  Art = "GEO";  
  var dinge = new Array();  
  for (var i = 0; i < document.getElementsByTagName("td").length; i++)  
    dinge[dinge.length] = document.getElementsByTagName("td")[i].firstChild.nodeValue;  
  for (i = 0; i < document.getElementsByTagName("td").length; i++)  
    document.getElementsByTagName("td")[i].firstChild.nodeValue = dinge[geoArray[i]];  
  document.getElementById("Art").firstChild.nodeValue = "kategorisiert;d";  
}  

Und html:

  
  
<table width="50%" border="1">  
<tr>  
	<td>Baum, natürlich</td>  
</tr>  
<tr>  
	<td>Foto, künstlich</td>  
</tr>  
<tr>  
	<td>Distel, natürlich</td>  
</tr>  
<tr>  
	<td>Tür, künstlich</td>  
</tr>  
<tr>  
	<td>Sonne, natürlich</td>  
</tr>  
<tr>  
	<td>Zitrone, natürlich</td>  
</tr>  
  
</table>  
<form name="Formular" action="">  
<input type="button" name="abc" value="alphabetisch" onclick="ABC()">  
<input type="button" name="geo" value="geographisch" onclick="GEO()">  
</form>  

Ich hoffe ihr hab verstandden wie ich das meine. Also wenn man den einen Button drückt soll sich die Liste nach den beiden "Kategorien" richten und bei dem anderen nach den "dingen".

PS.:schon mal danke an euch :D ich hoffe ihr könnt mir helfen :P

  1. Hallo liebe SelfHTML-Community,

    Ich hoffe ihr hab verstandden wie ich das meine. Also wenn man den einen Button drückt soll sich die Liste nach den beiden "Kategorien" richten und bei dem anderen nach den "dingen".

    Und was passiert wenn du auf den button drückst? Was ist eigentlich dein problem?

    PS.:schon mal danke an euch :D ich hoffe ihr könnt mir helfen :P

    /entropie

    --
    Whenever people agree with me I always feel I must be wrong.
      -- Oscar Wilde
    1. Und was passiert wenn du auf den button drückst? Was ist eigentlich dein problem?

      Naja im moment sortiert es mir das nur anhand des ersten Wortes und nicht nach dem zweiten

      1. Om nah hoo pez nyeetz, Lucy!

        Naja im moment sortiert es mir das nur anhand des ersten Wortes und nicht nach dem zweiten

        Ja, weil es nur einen Begriff gibt, nämlich "Baum, natürlich".

        Matthias

        --
        1/z ist kein Blatt Papier.

  2. Hallo,

    Ich habe eine Tabelle mit einer Zelle pro Zeile.

    Dafür nimmt man normalerweise eine Liste.

    In dieser Zelle stehen zwei Wörter
    (sieht ungefähr so aus:)


    Baum, natürlich
    Tür, künstlich
    -------------------
    Zitrone, natürlich

    Dafür dann aber tatsächlich eine Tabelle, die dann üblicherweise zwei Spalten hat.

    Gruß
    Kalk

    1. Hallo,

      Dafür nimmt man normalerweise eine Liste.

      Dafür dann aber tatsächlich eine Tabelle, die dann üblicherweise zwei Spalten hat.

      okay seh ich beides ein, aber wie definiert man denn dann den zweiten Begriff?

      1. Om nah hoo pez nyeetz, Lucy!

        okay seh ich beides ein, aber wie definiert man denn dann den zweiten Begriff?

        <table>  
          <thead>  
            <tr>  
              <th>Gegenstand</th>  
              <th>Vorkommen</th>  
            </tr>  
          </thead>  
          <tbody>  
            <tr>  
              <td>Baum</td>  
              <td>natürlich</td>  
            </tr>  
            <tr>  
              <td>Tür</td>  
              <td>künstlich</td>  
            </tr>  
          </tbody>  
        </table>
        

        Matthias

        --
        1/z ist kein Blatt Papier.

        1. Om nah hoo pez nyeetz, Lucy!

          das meinte ich jetzt gar nicht :P ich meinte die Funktion wie ich da die zweite Zelle als anderes Suchkriterium definiere

          lg Lucy

          1. Hallo Lucy,

            das meinte ich jetzt gar nicht :P ich meinte die Funktion wie ich da die zweite Zelle als anderes Suchkriterium definiere

            z.B. hiermit: http://www.j-berkemeier.de/TableSort.html

            Gruß, Jürgen

            1. JAAAA, Danke Jürgen genau das hilft mir

              Vielen Dank auch an die anderen :P

              lg Lucy