Bei Select versch. Div anzeigen

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

  • Bei Select versch. Div anzeigen

    Hey,

    ich habe folgendes Problem:
    Ich möchte je nach Option, welche gewählt wurde ein anderes DIV ausgeben lassen.
    Das funktioniert soweit super

    Hier der Code:

    Javascript
    Code:
    <script language="javascript">
        function setVisibility() {
            var val = document.getElementById('status_id').value;
            diva = document.getElementById('disp1');
            divb = document.getElementById('disp2');
            if (val == '1') {
                diva.style.display = 'block';
            } else {
                diva.style.display = 'none';
            }
            if (val == '2') {
                divb.style.display = 'block';
            } else {
                divb.style.display = 'none';
            }
        }
    </script>
    HTML
    HTML-Code:
    <select name="status_id" id="status_id" class="form-control" onchange="setVisibility();">
                                                        
    <option value="0">wählen...</option>
    <option value="1">select1</option>
    <option value="2">select2</option>
    
    </select>
    
    <div id="disp1" style="display: none">select 1 gewählt</div>
    <div id="disp2" style="display: none">select 2 gewählt</div>
    Problem ist nun, dass ich die form (HTML code) in einer foreach schleife erzeuge und das ganze nur beim ersten Eintrag funktioniert.
    Ich weis leider nicht wie ich eine ID übergeben kann die bei der foreach Schleife erzeugt wird ($data_id).

    Wäre für jede Hilfe dankbar!!

  • #2
    Zitat von Peh4pe Beitrag anzeigen
    Ich weis leider nicht wie ich eine ID übergeben kann die bei der foreach Schleife erzeugt wird ($data_id).
    Übergeben wohin …?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Naja müsste ja dann an die Javascript Funktion übergeben werden.. damit sie weis, in welchem Schleifen-Abschnitt die Funktion aufgerufen wird.

      Kommentar


      • #4
        Du hast also das ganze, Selectfeld und nachfolgende Divs, letztendlich mehrfach in deinem Dokument?

        Wenn du einen Parameter an die Funktion übergeben willst – dann notierst du ihn einfach im Aufruf der Funktion, wo ist da das Problem?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Ich weis leider nicht wie

          so ähnlich?
          HTML-Code:
          <select name="status_id" id="status_id" class="form-control" onchange="setVisibility($foreach_id);">
          Code:
          <script language="javascript">
              function setVisibility([B]id[/B]) {
                  var val = document.getElementById('status_id').value;
                  diva = document.getElementById('disp1');
                  divb = document.getElementById('disp2');
                  if (val == '1') {
                      diva.style.display = 'block';
                  } else {
                      diva.style.display = 'none';
                  }
                  if (val == '2') {
                      divb.style.display = 'block';
                  } else {
                      divb.style.display = 'none';
                  }
              }
          </script>

          Kommentar


          • #6
            Wenn das kein nummerischer Wert ist, sondern ein alphanummerischer, dann muss es als JS-Funktionsparameter natürlich auch als String ausgegeben werden.

            Und solange du innerhalb deiner Funktion den übergebenen Wert nicht benutzt, nützt er dir natürlich auch wenig.

            Und du musst natürlich auch im HTML-Code den du erzeugst, unterschiedliche IDs vergeben.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar

            Lädt...
            X