Variable aus PHP übernehmen und Selectbox in JS bauen

Dieses Thema Variable aus PHP übernehmen und Selectbox in JS bauen im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von wibni, 19. Apr. 2005.

Thema: Variable aus PHP übernehmen und Selectbox in JS bauen Hallo, ich habe 2 Arrays in PHP, welche Datumswerte beinhalten. Beide Arrays gebe ich in Dropdownboxen aus. Nun...

  1. Hallo,

    ich habe 2 Arrays in PHP, welche Datumswerte beinhalten.
    Beide Arrays gebe ich in Dropdownboxen aus.
    Nun möchte ich, wenn ich einen Wert in der ersten Box auswähle in der zweiten Box nur ältere Datumswerte angezeigt bekomen.

    Dazu dachte ich, die zweite Dropdownbox einfach als Function in Javascript zu schreiben und die Auswahl der ersten Dropdownbox als Variable zu übernehmen. Ist das überhaupt möglich?
    Denn bisher kam ich noch zu keinem Ergebnis.

    lG
    Pia
     
  2. Also die Übergabe geht ja zumindest.
    Warum wird mein altes Formular gelöscht und $anzahl auf einer leeren Seite ausgegeben?
    Kann man die Variable nicht einfach an ein bestehendes Formaular anfügen?

    <script language=JavaScript type=text/JavaScript>
    <!--
    function test(){
    document.write('<?= $anzahl?>');
    }
    -->
    </script>
     
  3. Probiers mal so:

    Code:
    <script language=javascript type=text/javascript>
    // Object finden
    function MM_findObj(n, d) { //v4.01
     var p,i,x; if(!d) d=document; if((p=n.indexOf(?))>0&&parent.frames.length) {
      d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
     if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
     for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
     if(!x && d.getElementById) x=d.getElementById(n); return x;
    }
    
    function func1(f1, f2) {
    	dat1 = f1;
    	dat2 = MM_findObj(f2);
    	var l = dat2.length;
    	var x=0;
    	while(x < l) {
    		dat2.options[0] = null;
    		++x;
    	}
    	var i=0;
    	while(i < dat1.selectedIndex) {
    		var option = new Option(dat1.options[i].text, dat1.options[i].value);
      	    dat2.options.add(option);
    		++i;
    	}
    	
    }
    </script>
    <?php
    $arr = array(18.03.1961,25.01.1962,
    			 20.11.1999,13.11.2001,
    			 01.01.2004,20.10.2004,
    			 17.12.2004,12.04.2005,
    			 07.08.2005,22.09.2005);
    for($i = 0; $i < count($arr); $i++) {
    	$opt .= <option value='.$arr[$i].'>.$arr[$i].</option>;
    }
    ?>
    
    <form action=datum.php method=post name=form1>
     <select name=dat1 onChange=func1(this,->dat2') style=width:100 >
      <?php echo $opt; ?>
     </select> 
     <select name=dat2 style=width:100 ></select>
    </form>
    
    Allerdings ohne Gewähr ;D

    gruss conny
     
  4. Hi Conny,

    also hab Dein Beispiel mal umgesetzt und noch ne kleine änderung vorgenommen, damit er mir in der 2ten Dropdownbox die späteren Datumswerte anzeigt und nicht wie in Deinem Beispiel alle Datumswerte bis zum ausgewählten Datum in Box 1.

    However, jedenfalls funktioniert es und ich habe keinen Schimmer was Du da machst.
    Muss denn diese function MM_findObj(n, d) sein? Bei dieser Funktion kann ich gar net folgen. Aber sie prüft wohl, ob Dropdownbox 2 auch wirklich da ist, bzw sucht diese. Passiert irgendwas wenn die Box nicht da ist, bzw. ist diese Suche notwendig?

    Und was sind die Übergabeparameter in function check_startdate(f1, f2)?
    Also was ist f1 und f2? Was übergibst Du da?

    Wieso ist bei dem onChange=->check_startdate(this, choice_enddate)' das this ein Übergabeparameter und was bewirkt es.

    Und die letzte Frage: Was ist das für ein Oerator: $opt .=? Ich meine dieses .= und was bewirkt es?

    Danke für Deine Hilfe. Habe bestimmt bald die nächste Frage...
    ;-)
     
  5. soviel hierzu ;)

    Ich hab ja nur gemacht was du wolltest ;D ;D

    Da einige Browser unterschiedlich mit JavaScript umgehen, ist diese Funktion ganz nützlich um ein Object zu identifizieren.
    Die Funktion wird von Dreamweaver schon mitgeliefert und erfüllt seinen Zweck eigentlich recht gut. Was da nun im einzelnen passiert, hat mich eigentlich noch nie interressiert, hauptsache es geht ;D

    Nö, viele Wege führen nach Rom. Dir steht es frei es anders zu machen ;D

    check_startdate ??? Die Funktion gibts in meinem Beispiel nicht ;)
    f1 = ich selbst alse die erste Box. Da dieser Verweis auf das object mit dem Parameter this (ich selbst) übergeben wurde, braucht es auch nicht erst gesucht zu werden.
    f2 = Name der 2. Box. Hier wird mittels der Funktion MM_findObj das passende Object zu dem Namen gesucht.

    In beiden Fällen steht nun ein object zur Verfügung, dass ganz einfach über den zugewiesenen Namen (z.B. dat1 und dat2) angesprochen werden kann.

    Zuweisungsoperatoren => http://de2.php.net/manual/de/language.operators.assignment.php


    gruss conny
     
  6. Thanks mate. Nun bin ich wieder bissl schlauer!
    Bis zum naechsten mal...

    Cheers!
     
Die Seite wird geladen...

Variable aus PHP übernehmen und Selectbox in JS bauen - Ähnliche Themen

Forum Datum
Wie kann ich eine Excel-Formel in die nachfolgenden Zeilen mit variablem Multiplikator ziehen ? Microsoft Office Suite 4. Dez. 2015
Umgebungsvariable AppData ist nicht vorhanden Windows 7 Forum 14. Apr. 2015
DOS-Umgebungsvariable unter Windows lesen Windows XP Forum 26. Jan. 2015
Wie Monitorausgabe in Batch Variable einbinden ? Linux & Andere 10. Jan. 2015
Kann System-umgebungsvariablen nicht ändern Windows XP Forum 1. Dez. 2011