Ankündigung

Einklappen
Keine Ankündigung bisher.

JS Verschachtelte Auswahlfelder

Einklappen

Neue Werbung 2019

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

  • JS Verschachtelte Auswahlfelder

    Hi.
    Bin neu hier im Forum, deshalb grüße ich euch.

    Ich bin auf das JS oben

    [Anmerkung des mod: gemeint ist http://www.phpfriend.de/forum/viewto...a472fa96add40b , Thema wurde geteilt]

    gestoßen, und es ist genau was ich suche. Ich war auf der Suche nach eben dieser Funktionalität, nur für eine andere Problemstellung: In Abhängigkeit des jeweiligen Monats möchte ich die Anzahl der Tage ausgeben (Schaltjahre mal ausgenommen).
    Also hab ich das JS angepaßt, und es läuft auch wunderbar. Mein Problem ist, dass ich das Ganze in ein PHP File einbauen muss, und das bereitet Probleme. Ich hab die JS Arrays entsprechend Verändert und das Ganze eingebaut, aber leider läuft es nicht mehr. Die erste AUswahlliste funktioniert, die zweite ist von anfang an leer. Nichts auszuwählen. Habt Ihr ne Idee woran das liegen kann?

    Hier ist das JS:

    Code:
    
    
    <script>
        var mygroup = new Array();
    
        mygroup[0] = new Array();
        mygroup[0][0] = new Option("Day", 0);
    
        mygroup[1] = new Array();
        mygroup[1][0] = new Option("1");
        mygroup[1][1] = new Option("2");
        mygroup[1][2] = new Option("3");
    
        mygroup[2] = new Array();
        mygroup[2][0] = new Option("1");
        mygroup[2][1] = new Option("2");
        mygroup[2][2] = new Option("3");
    
        mygroup[3] = new Array();
        mygroup[3][0] = new Option("1");
        mygroup[3][1] = new Option("2");
        mygroup[3][2] = new Option("3");
    		
            function ResetSubSelect(form, subSelect)
            {
                var e = form.elements[subSelect];
                for (var i = 0; i < e.options.length; ++i) {
                    e.options[i] = null;
                }
            }
    
            function DisableSubSelect(elem)
            {
                elem.disabled = 1;
            }
    
            function EnableSubSelect(elem)
            {
                elem.disabled = 0;
            }
    
            function ShowSubSelect(elem, subSelect)
            {
                ResetSubSelect(elem.form, subSelect);
    
                var i = elem.options[elem.selectedIndex].value;
                var s = elem.form.elements[subSelect];
    
                for (var k = 0; k < mygroup[i].length; k++) {
                    s.options[k] = mygroup[i][k];
                }
    
                if (i == 0) {
                    DisableSubSelect(s);
                } else {
                    EnableSubSelect(s);
                }
            }
    
            function InitSubSelect()
            {
                ShowSubSelect(document.forms["myform"].elements["select_month"], "select_day");
            }
        </script>
    Und hier der PHP Teil:


    PHP-Code:

    echo "<td width='200px' bgcolor='#ffffff'>
            <select name='select_month' onChange='ShowSubSelect(this,'select_day')'>
                <option value='0'>Month</option>
                <option value='1'>Jan</option>
                <option value='3'>Feb</option>
                <option value='1'>Mar</option>
                <option value='2'>Apr</option>
                <option value='1'>May</option>
                <option value='2'>Jun</option>
                <option value='1'>Jul</option>
                <option value='1'>Aug</option>
                <option value='2'>Sep</option>
                <option value='1'>Oct</option>
                <option value='2'>Nov</option>
                <option value='1'>Dec</option>
            </select>
        </td>"
    ;
        echo 
    "<td width='200px' bgcolor='#ffffff'>
            <select name='select_day'>
            </select>
        </td>"

    Ich bin schon ne ganze Weile dran, finde aber den Fehler bzw. den Grund nicht. Bin echt dankbar für Hilfe.....

    Loki

  • #2
    Das Script oben basiert komplett auf JavaScript, du generierst deine Auswahl aber mit PHP und teilst das JavaScript nicht mit. Du musst mit PHP das JavaScript oben generieren, nicht das HTML.

    Kommentar


    • #3
      Hi.
      Ich hab keine Email Benachrichtigung bekommen, deshalb melde ich mich erst jetzt.

      Zitat von Zergling
      Das Script oben basiert komplett auf JavaScript, du generierst deine Auswahl aber mit PHP und teilst das JavaScript nicht mit. Du musst mit PHP das JavaScript oben generieren, nicht das HTML.
      Ich komm nicht ganz dahinter was du meinst. Ich habe in dem File noch n anderes JS auf genau dieselbe Art
      Code:
       <select name='select_month' onChange='ShowSubSelect(this,'select_day')'>
      eingebaut, und es funktioniert auch ohne Probleme. Kannst du n Beispiel geben wie du es jeweils meinst? Du mußt dabei nicht auf mein Problem eingehn, n allgemeingültiges Beispiel würe mir schon helfen.


      Zitat von cycap
      Du solltest dir auch noch was überlegen bezüglich voreingestellten Werten und behalten des eingestellten subselect-wertes.
      Ja, auf dieses Problem bin ich auch schon gestoßen, allerdings stelle ich das gerade etwas hinten an...

      Grüße

      Kommentar

      Lädt...
      X