Ergebnis 1 bis 8 von 8
  1. #1
    maddinii ist offline Jungspund
    registriert
    05-11-2012
    Beiträge
    12

    Question Spalte löschen, wenn andere Auswahl

    Hallo,

    in meiner Dropdown- Liste wird je nach Wert eine neue Spalte erstellt, mit weiteren Optionen. Beispielsweise wählt man "Name" und es erscheint eine neue Spalte mit der Frage "Auch Nachname?" und einer Checkbox. Nun hab ich das Problem, dass diese Spalte auch dann bestehen bleibt, wenn man sich dazu entschließt den Wert doch zu ändern von "Name" auf meinetwegen "Nachname". Wie kann ich die komplette Spalte wieder löschen, nachdem ich einen anderen Wert auswähle?


    ##Javascript Code##
    Code:
    function insertAfter( referenceNode, newNode )
    {
        referenceNode.parentNode.insertBefore( newNode, referenceNode.nextSibling );
    }
    
    function get(){
          if (document.getElementById('sc1').value == "Name"){
        	  //Tabelle bauen
        	  newtr = document.createElement("tr");
        	  newtr.setAttribute('id', 'nachname');
        	  
        	  //spalte1
        	  newtd1 = document.createElement("td");
        	  newlabel = document.createElement("label");
        	  newlabelText = document.createTextNode("Mit Nachname?");
        	  newlabel.appendChild(newlabelText);
        	  newtd1.appendChild(newlabel);
        	  
        	  //spalte2
        	  newtd2 = document.createElement("td");
        	  newcheckbox = document.createElement("input");
        	  newcheckbox.setAttribute('type', 'checkbox');
        	  newcheckbox.setAttribute('name', 'chk_name');
        	  newtd2.appendChild(newcheckbox);
        	  
        	  //Zusammen setzen
        	  newtr.appendChild(newtd1);
        	  newtr.appendChild(newtd2);
        	  
        	  //Typ holen und dahinter die neue Spalte einfügen
        	  my_sc1 = document.getElementById("type");
        	  insertAfter(my_sc1, newtr);
          }
    }

    ##HTML Code##
    HTML-Code:
    <table id="ask">
    <thead>
    <th>
    Beschreibung
    </th>
    <th>
    Aktion
    </th>
    </thead>
    <tbody>
    	<tr>
    		<td>
    			<label>Spalten Name:</label>
    		</td>
    		<td>
    			<input type="text" id="sp1" name="sp1"></input>
    		</td>
    	</tr>
    	<tr id="type">
    		<td>
    			<label>Typ:</label>
    		</td>
    		<td>
    			<p>
        			<select name="sc1" id="sc1" size="1" onchange="get();">
          				<option>ID</option>
          				<option>Name</option>
          				<option>Vorname</option>
          				<option>Strasse</option>
          				<option>Hausnummer</option>
          				<option>Postleitzahl</option>
          				<option>Ort</option>
          				<option>Festnetz</option>
          				<option>Mobiltelefon</option>
          				<option>Fax</option>
          				<option>email</option>
          				<option>Geburtstag</option>
          				<option>datum</option>
          				<option>Hash Wert</option>
        			</select>
      			</p>
    		</td>
    	</tr>
    </tbody>
    </table>

  2. #2
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.627

    AW: Spalte löschen, wenn andere Auswahl

    Äh - du meinst, dass du die Zeile löschen willst... das kannst du mit PARENT_NODE.removeChild() machen. Einfach per document.getElementById() die Zeile holen (und natürlich prüfen, ob sie existiert) und dann entfernen.

    PS: Warum verwendest du .setAttribute? Standardattribute kann man einfacher/eleganter direkt setzten. Z.B.
    Code:
    NODE.id = "my_id";
    PPS: Warum erzeugst du da ein <label>, wenn du es nicht mit der Checkbox assoziierst?

  3. #3
    maddinii ist offline Jungspund
    registriert
    05-11-2012
    Beiträge
    12

    AW: Spalte löschen, wenn andere Auswahl

    Zitat Zitat von kkapsner Beitrag anzeigen
    Äh - du meinst, dass du die Zeile löschen willst... das kannst du mit PARENT_NODE.removeChild() machen. Einfach per document.getElementById() die Zeile holen (und natürlich prüfen, ob sie existiert) und dann entfernen.

    PS: Warum verwendest du .setAttribute? Standardattribute kann man einfacher/eleganter direkt setzten. Z.B.
    Code:
    NODE.id = "my_id";
    PPS: Warum erzeugst du da ein <label>, wenn du es nicht mit der Checkbox assoziierst?
    Danke für den Tipp mit den Attributen.

    Das Problem ist, dass ich schon sämtliche Möglichkeiten ausprobiert habe, es will einfach nicht verschwinden. Sobald es erstellt ist, ist es eine Ausgabe in HTML.
    Code:
    	  if (document.getElementById('nachname')){
    		  PARENT_NODE.removeChild(document.getElementById('nachname'));
    	  }
    Funktioniert nicht, obwohl die "tr", die ich löschen möchte auch wirklich GENAU SO heißt. Auch Global definiert bringt's mich nicht weiter. Aus dem Internet und der Suchfunktion (Ja es gibt tatsächlich Leute, die das benutzen) hab ich schon viele Möglichkeiten ausprobiert, nichts davon hat funktioniert :/

  4. #4
    Avatar von miniA4kuser
    miniA4kuser ist offline Lounge-Member
    registriert
    12-07-2006
    Beiträge
    3.034

    AW: Spalte löschen, wenn andere Auswahl

    Ähm... denke mal kkapsner meinte eher sowas hier:
    Code:
    	  var node = document.getElementById('nachname');
    	  if (node){
    		  node.parentNode.removeChild(node);
    	  }
    Hoffe ich konnte helfen

  5. #5
    maddinii ist offline Jungspund
    registriert
    05-11-2012
    Beiträge
    12

    AW: Spalte löschen, wenn andere Auswahl

    Zitat Zitat von miniA4kuser Beitrag anzeigen
    Ähm... denke mal kkapsner meinte eher sowas hier:
    Code:
    	  var node = document.getElementById('nachname');
    	  if (node){
    		  node.parentNode.removeChild(node);
    	  }
    Danke, an beide. Da warte ich schon seid Tagen drauf, dass es endlich funktioniert!

    Jetzt aber noch eine Frage:
    Ich möchte, dass es nicht grundsätzlich immer gelöscht wird, sondern nur in der selben Tabelle, die natürlich eine eindeutige ID hat. Die ID bekomme ich in die Funktion übergeben "get(sc, type)". Um das zu prüfen muss ich wohl zuerst "nachname" auch eine eindeutige id geben in etwa so "nachname_id".. Dann einfach per IF anweisung schauen, ob die übermittelte Variable "sc" mit "nachname_id" übereinstimmt. Ist das so richtig?

  6. #6
    Avatar von miniA4kuser
    miniA4kuser ist offline Lounge-Member
    registriert
    12-07-2006
    Beiträge
    3.034

    AW: Spalte löschen, wenn andere Auswahl

    Zitat Zitat von maddinii Beitrag anzeigen
    Ich möchte, dass es nicht grundsätzlich immer gelöscht wird, sondern nur in der selben Tabelle, die natürlich eine eindeutige ID hat.
    ID's müssen immer eindeutig sein.

    Zitat Zitat von maddinii Beitrag anzeigen
    Die ID bekomme ich in die Funktion übergeben "get(sc, type)". Um das zu prüfen muss ich wohl zuerst "nachname" auch eine eindeutige id geben in etwa so "nachname_id".. Dann einfach per IF anweisung schauen, ob die übermittelte Variable "sc" mit "nachname_id" übereinstimmt. Ist das so richtig?
    Erklär das bitte noch einmal verständlich. Denn mit
    Code:
    document.getElementById('nachname')
    schaust du doch schon nach einer eindeutigen ID!?
    Hoffe ich konnte helfen

  7. #7
    maddinii ist offline Jungspund
    registriert
    05-11-2012
    Beiträge
    12

    AW: Spalte löschen, wenn andere Auswahl

    Zitat Zitat von miniA4kuser Beitrag anzeigen
    ID's müssen immer eindeutig sein.

    Erklär das bitte noch einmal verständlich. Denn mit
    Code:
    document.getElementById('nachname')
    schaust du doch schon nach einer eindeutigen ID!?
    Die Tabelle wird per Link erneut erstellt (dynamisch), falls man eben mehrere Einträge machen möchte Demnach war es vorher so, dass es - je nach dem wie oft man den Link geklickt hat - 100erte 'nachname' gab. Jetzt allerdings nur noch einen und alles läuft, wie geplant also alles super :P Danke

  8. #8
    Avatar von miniA4kuser
    miniA4kuser ist offline Lounge-Member
    registriert
    12-07-2006
    Beiträge
    3.034

    AW: Spalte löschen, wenn andere Auswahl

    Na denn ... gern geschehn
    Hoffe ich konnte helfen

Ähnliche Themen

  1. Box ausblenden wenn andere Box einblendet
    Von aerodynamic im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 11-07-2007, 16:42
  2. Antworten: 0
    Letzter Beitrag: 27-03-2006, 17:32
  3. Antworten: 2
    Letzter Beitrag: 23-11-2005, 22:18
  4. Formulare: Vorgabe löschen wenn Focus?!...
    Von jeko im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 15-11-2004, 10:05
  5. Andere Länder ... andere Aussprache
    Von spacefrog78 im Forum Fun
    Antworten: 0
    Letzter Beitrag: 29-11-2002, 12:59

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •