Ajax, Jquery - Radiobuttons

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

  • Ajax, Jquery - Radiobuttons

    HEy Freunde der nächtlichen Monitorbräune,

    ich kenn mich mit JS und Co nicht wirklich aus, deshalb versuch ich es einfach mal hier, den Codeschnipsel meinen Wünschen entsprechend zu vervollständigen.

    Blaa Blaa Blup, lange Rede kurzer Sinn:

    PHP-Code:
    <script type="text/javascript">
    function 
    switchPic() {
         var 
    bildname;
         if(
    document.formular.radio[0].checked == true) {
              
    bildname "1.jpg";
         }
         else if(
    document.formular.radio[1].checked == true) {
              
    bildname "2.jpg";
         }
         else if(
    document.formular.radio[2].checked == true) {
              
    bildname "3.jpg";
         }
         
    document.getElementById("bild").src bildname;
    }

    </
    script>
    </
    head>

    <
    body>
    <
    form name="formular" onclick="switchPic();">
     <
    input name="radio" value="bild1" type="radio"/>Bild 1 
     
    <input name="radio" value="bild2" type="radio"/>Bild 2 
     
    <input name="radio" value="bild3" type="radio"/>Bild 3
    </form>
    <
    br>
    <
    img alt="" src="bild1.jpg" id="bild"/> 
    Ich möchte folgenden (im Internet gefundenen ) Code meinen Wünschen entsprechend aufpeppeln, so dass nicht direkte Dateinamen angegeben werden müssen und so die Liste ellenlang wird, sondern es bswp. direkt aus dem Value-Wert des Radio-Buttons ausliest

    Also bspw:
    <input name="radio" value="bild3.jpg" type="radio"/>Bild 3

    Weiß gar nicht, ob das so einfach geht

  • #2
    Hallo,

    den value des Radiobuttons findest du in [FONT="Courier New"]document.formular.radio[[/FONT]nummer[FONT="Courier New"]].value[/FONT] und kannst ihn dann mit + verketten, denn du musst ja noch das ".jpg" anhängen.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      dann versuch ich das mal etwas zu automatisieren:

      PHP-Code:

      <script type="text/javascript">
      function 
      switchPic() {
           var 
      bildname;
      for (
      i=0i<20i++) {  // bei 20 Bildern....geht das nicht noch cooler ;)
         
      if(document.formular.radio[i].checked == true) {
            
      bildname document.formular.radio[i].value ".jpg";
          }

      }
           
      document.getElementById("bild").src bildname;
      }

      </
      script>

      Hmmmm... 
      Zuletzt geändert von Clara; 23.09.2011, 23:05.

      Kommentar


      • #4
        Ich wollte dir grad schreiben, dass da noch eine 0 statt i drin ist, aber das hast du schon geändert.

        Dann hätte ich nur noch die Anmerkung, dass i noch nicht mit var deklariert ist. Das ist in diesem Falle nicht schlimm, aber damit müllst du dir den globalen Scope voll und kannst – wenn du es öfters vergisst – bösartige Seiteneffekte verursachen, die dir mal das ganze Projekt versauen können.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          ja hab von der js-syntax nicht viel plan, aber danke erstmal

          mir ist gerade noch eingefallen, dass es doch eigentlich auch ohne js und dem ganzen schnickschnack gehen könnte, sofern sich die pseudoklasse :active auf nen radio-button anwenden lässt und dadurch den hidden div sichtbar wird nach dem drop-down menü - schema ?

          Kommentar


          • #6
            Das kann eigentlich nicht gehen, weil du über :active nur das aktive Element oder dessen Kinder stylen kannst. Da ein Radiobutton keine Kinder haben kann, bleibt dir also nur, den Radiobutton zu stylen und das bringt dir ja nichts.
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #7
              stimmt, man kann es nirgends zwischenschieben

              //edit: es sei denn, man nimmt radio-buttons, die nur so aussehen als wären sie welche, aber das ist glaub etwas zweckentfremdet...

              Kommentar


              • #8
                Zitat von AmicaNoctis Beitrag anzeigen
                Das kann eigentlich nicht gehen, weil du über :active nur das aktive Element oder dessen Kinder stylen kannst.
                Es gibt ja nicht nur Nachfahren-, sondern auch Nachbar-Selektoren …
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Zitat von wahsaga Beitrag anzeigen
                  Es gibt ja nicht nur Nachfahren-, sondern auch Nachbar-Selektoren …
                  Da die noch nicht mal vom IE8 vollständig (!) unterstützt werden, standen die für mich nicht zur Debatte, aber gut, ich hätte sie trotzdem erwähnen können.

                  Edit: Okay, nach nochmaliger Recherche, ob ich hier nicht was falsches sag, stellt sich heraus, dass IE bis auf kleine (vernachlässigbare) Macken diesen Selektor komplett unterstützt.
                  Zuletzt geändert von AmicaNoctis; 25.09.2011, 22:50.
                  [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                  Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                  Super, danke!
                  [/COLOR]

                  Kommentar

                  Lädt...
                  X