selectd index will nicht wie ich!

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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
    Last edited by 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?

    Comment


    • #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
      Last edited by xJonx; 04-10-2007, 20:05.
      Design & Coding with a breeze of madness at xjonx

      Comment


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

        Comment


        • #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');"

          Comment

          Working...
          X