PHP Array in JS verwenden?

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

  • PHP Array in JS verwenden?

    hallo,

    ich habe folgendes Script gefunden und angepasst:

    PHP-Code:

    <script language=\"JavaScript\">

    inhalt = new Array();
    inhalt[\"de\"] = new Array('3300','3400','3500','3600','3700','3800');
    inhalt[\"at\"] = new Array('1100','1600','1700','1800','1900','2000');
    inhalt[\"pl\"] = new Array('2300','2400','2500','2600','2700','2800');
    inhalt[\"pt\"] = new Array('4400','4500','4600','4700','4800','4900');

    function waehlen(wahl)
    {
     if(wahl=='standard') { return; }
      Knoten = document.getElementById('sel_depot').firstChild;
      while(Knoten!=null) {
      document.getElementById('sel_depot').removeChild(Knoten);
      Knoten = document.getElementById('sel_depot').firstChild; }

      for(i=0;i<inhalt[wahl].length;i++) {

      feld1 = document.createElement(\"option\");
      feld1.nodeValue = inhalt[wahl][i];
      feld1.appendChild(document.createTextNode(inhalt[wahl][i]));
      document.getElementById('sel_depot').appendChild(feld1);
     }
    }

    </script>

        <br>
      <select name=\"sel_country\" id=\"sel_country\" size=\"\" onChange=\"waehlen(this.value);\">
      <option value=\"standard\">bitte wählen
      <option value=\"de\">germany
      <option value=\"at\">austria
      <option value=\"pl\">poland
      <option value=\"pt\">portugal
      </select>
      <br><br>
      <select name=\"sel_depot\" id=\"sel_depot\" size=\"\">
      </select> 
    in abhängigkeit vom land werden depots des jeweiligen landes angeboten. diese sind aber hard-codiert im js-quellcode, was eindeutig einen nachteil darstellt.
    ich habe mehrere php-arrays, in denen alle depots gespeichert sind (ca 50 pro land) und will diese nun in dem dropdown-feld anbieten.
    leider ist die übergabe eines php-arrays an eine js-funktion mehr als komplex....

    kennt jemand eine lösung, wie ich die werte aus den php-arrays sauber in die js-funktion bekomme?
    welche möglichkeiten gibt es?

    danke im voraus!

  • #2
    Indem du das Array in PHP durchläufst und es einfach in der richtigen Form mit echo ausgibst ... ?
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      mhm, also irgendwie hast du recht ^^

      so funktioniert es:
      PHP-Code:
      inhalt[\"de\"] = new Array('$de[0]','$de[1]','$de[2]','$de[3]','$de[4]','$de[5]'); 
      das mit der schleife ist ja dann kein problem. ich hatte das schonmal probiert und da hatte es ums verrecken nicht geklappt, deswegen hab ich jetzt zu kompliziert gedacht

      Kommentar


      • #4
        Anmerkung für die Nachwelt: Das Forum verschluckt die \ vor dem 1. ", also am besten auf "Zitat" klicken und dann kopieren. Oder einfach vorher einfügen
        Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
        var_dump(), print_r(), debug_backtrace und echo.
        Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
        Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
        Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

        Kommentar

        Lädt...
        X