selectd index will nicht wie ich!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • selectd index will nicht wie ich!

    hi leute,

    ich hier nen kleines Problem.
    Ich hab mir folgende Funktion zusammen gebaut,
    die mir auch eigentlich ganz logisch erscheint.

    Aber irgendwie, will sie nicht das tun, was sie soll.
    Und es werden auch keine Fehler ausgegeben.
    Code:
    function check_option(option, value, show) {
    	if (document.getElementById(option).selectedIndex == value) {
    		document.getElementById(show).style.display = 'block';
    	} else {
    		document.getElementById(show).style.display = 'none' ;
    	}
    }
    Hier ein Anwendungsbeispiel ... bei sonstiges, soll
    halt das Feld darunter zur eingabe, freigegeben werden:
    PHP-Code:
                <label for="component">Bereich</label>
                <?php
                
                    $sql         
    'SELECT * FROM `usr_web169_2`.`components` ORDER BY `name` ASC' ;
                    
    $result        mysql_query($sql) ;
                    
    $index         ;
                    while(
    $row mysql_fetch_array($result)) {
                        
                        
    $components .= '<option value"'.$row['name'].'"';
                        if (
    $_POST['component'] == $row['name']) { $components .= ' selected="selected"' ; }
                        
    $components .= '>'.$row['name'].'</option>' ;
                        
    $index++ ;
                    }
                    
                
    ?>
                <select name="component" onchange="check_option('component', '<?=$index?>', 'component_else')">
                    <option value="0">Bitte ausw&auml;hlen</option>
                    <?=$components?>
                    <option value="sonstige">sonstige</option>
                </select>
                <span id="component_else" class="hide">
                    <br />
                    <label">Sonstige:</label>
                    <input type="text" name="component_else" value="<?=$_POST['component_else']?>" />
                </span>
    Kann mir da jemand weiter helfen?
    Irgendwas muss ich einfach übersehen, nur was?

    Irgendnen Ansatz für mich?

    Grüße
    Zuletzt geändert von xJonx; 04.10.2007, 20:05.
    Design & Coding with a breeze of madness at xjonx

  • #2
    Du erwartest jetzt ernsthaft, daß sich den (im Übrigen nicht umgebrochenen) Code jetzt jemand durchliest, daraus schließt, was es werden soll, und den Fehler findet?

    Kommentar


    • #3
      jaha das erwarte ich ... weißte doch :-)

      nein ok... also: da ist ne selectbox mit variable vielen options.
      zusätzlich gibt es eine statische erste (bitte wählen) und
      eine statische letzt (sonstiges) ...

      wenn man sonstiges an klickt, soll das span viech unter der
      selectbox eingeblendet (style.display = block) werden, damit
      man eine alternative eingeben kann ...

      ich zähle also die index (0 - ende) um dann bei sonstige das
      feld einzublenden ...

      aber das tut es nicht ...

      wenn ich den wert "künstlich" auf zB 2 oder so setze, funktioniert
      es auch nicht - was mich dazu bringt zu glauben das es nicht an
      meiner zählart liegt ....

      edit:

      tada - http://support.fetzordie.com/tickets/neu
      Zuletzt geändert von xJonx; 04.10.2007, 20:05.
      Design & Coding with a breeze of madness at xjonx

      Kommentar


      • #4
        weiß da den keiner was zu?
        Design & Coding with a breeze of madness at xjonx

        Kommentar


        • #5
          Wozu dieser Quatsch mit dem Index? Du möchtest ein DOM-Element sichtbar machen, wenn der User den letzten Eintrag einer Selectbox auswählt und unsichtbar sonst.

          onchange="document.getElementById('component_else').style.display = (this.selectedIndex == this.length ? 'block' : 'none');"

          Kommentar

          Lädt...
          X