Patrick: Selectbox verändern

Hi Forum,

ich übernehme aus einem Popup mit folgender Funktion Daten in meine Eingabefelder:

opener.document.forms["formular1"].elements["name"].value = a;

Das funktioniert auch.
Jetzt meine Frage: Gibt es die Möglichkeit auch einen Wert in einem Selectfeld mittels dieser Methode auf "selected" zu setzen?

Vielen Dank
Patrick

  1. Bin mir nich ganz sicher aber ich glaube so:

    opener.document.formular1.value = 'Neuer Wert ...';

    Hi Forum,

    ich übernehme aus einem Popup mit folgender Funktion Daten in meine Eingabefelder:

    opener.document.forms["formular1"].elements["name"].value = a;

    Das funktioniert auch.
    Jetzt meine Frage: Gibt es die Möglichkeit auch einen Wert in einem Selectfeld mittels dieser Methode auf "selected" zu setzen?

    Vielen Dank
    Patrick

    1. sry!
      das war ja n select :D hatte ich aber hier schonma gefunden ... nutz ma die suche!

      1. <script type="text/javascript">
        function CheckAuswahl () {
          if (document.Testform.Auswahl.options[2].selected == true) {
            alert("Diese Auswahl gilt nicht");
            return false;
          }
          return true;
        }
        </script>

        vielleicht hilft das ...

        1. Hi Dani,

          erst mal Danke für deine Hilfe.
          Ich kann mein Selectfeld ja über die ID in options ansprechen. Das klappt. Gibt es aber auch die Möglichkeit, das Teil über die Value anzusprechen, das sich diese bei mir verändert?

          So siehts aus und klappt auch auf klick:

          opener.document.forms["formular1"].auswahl.options[1].selected = true;

          Danke
          Patrick

          1. Value ändern geht so:

            <script>
              function change(){
              alert(document.formu.selctone.options[0].value);
              document.formu.selctone.options[0].value = 'laber 2';
              alert(document.formu.selctone.options[0].value);
              }
             </script>
            </head>

            <body>
            <form name="formu">
            <select name="selctone">
            <option value="laberblabla">Laber</option>
            </select>
            </form>

            <a href="#" onclick="change()">Ändern</a>

            Wie du die anzeige aber änderst weiß ich im mom nich ...
            Musst das natürlich nur noch auf den opener beziehen ...

            1. oder meinst du eine checkbox?

              1. n'abend,

                oder meinst du eine checkbox?

                Er hat ein <select>, weiss den Wert (value) einer <option> und möchte, dass eben diese <option> mit dem bekannten Wert selektiert wird.

                beantwortet wurde die frage hier

                weiterhin schönen abend...

                --
                wer braucht schon großbuchstaben?
                sh:( fo:# ch:# rl:° br:> n4:& ie:{ mo:} va:) de:] zu:} fl:{ ss:? ls:[ js:|
            2. Hi Dani,

              dank dir für deine Hilfe. ABER ich hab mich falsch ausgedrückt.
              Ich möchte nicht die Value ändern, sondern über die value auf das selected zugreifen.

              Danke
              Patrick

              1. Hallo Patrick,

                Hi Dani,

                dank dir für deine Hilfe. ABER ich hab mich falsch ausgedrückt.
                Ich möchte nicht die Value ändern, sondern über die value auf das selected zugreifen.

                dann lies alle Values in ein Assoziative Arrays ein und gib ihnen den boolischen Wert von select mit. Angenommen Du hast die Values: foo, bar, baz und bar ist ausgewählt, dann hast Du so ein Array:

                  
                Array['foo'] = false;  
                Array['bar'] = true;  
                Array['baz'] = false;  
                
                

                Das Array erstellst Du immer beim Laden der Seite. Dazu einfach, wie Du schon schrioebst, die options durchlaufen. Wenn Du nun ein Value haben willst, dann gehst Du ins erstelle Array und kannst am Wert erkennne, ob er ausgewählt ist...

                Mit freundlichem Gruß
                Micha

                --
                LeagueEditor JavaScript kostenlose Ligaverwaltung || richtig Messen will gelernt sein
                1. n'abend,

                  dann lies alle Values in ein Assoziative Arrays ein und gib ihnen den boolischen Wert von select mit. Angenommen Du hast die Values: foo, bar, baz und bar ist ausgewählt, dann hast Du so ein Array:

                  Array['foo'] = false;
                  Array['bar'] = true;
                  Array['baz'] = false;

                  
                  >   
                  > Das Array erstellst Du immer beim Laden der Seite. Dazu einfach, wie Du schon schrioebst, die options durchlaufen. Wenn Du nun ein Value haben willst, dann gehst Du ins erstelle Array und kannst am Wert erkennne, ob er ausgewählt ist...  
                    
                  Mir entzieht sich der Sinn dahinter ein weiteres Array (Hash) anzulegen um an die momentan selektierte Option zu kommen. Dieses Problem hat Patrick bereits gelöst.  
                    
                  Er möchte eine <option> - von welcher er den Wert kennt - selektieren (und alle anderen deselektieren).  
                    
                  weiterhin schönen abend...
                  
                  -- 
                  wer braucht schon großbuchstaben?  
                    
                  sh:( fo:# ch:# rl:° br:> n4:& ie:{ mo:} va:) de:] zu:} fl:{ ss:? ls:[ js:|
                  
                  1. Hi,

                    ich werds nachher mal versuchen.
                    Danke an euch für eure Hilfe.

                    Bye
                    Patrick

                  2. Hallo globe,

                    Mir entzieht sich der Sinn dahinter ein weiteres Array anzulegen um an die momentan selektierte Option zu kommen.

                    Mit entzieht sich aufs brutalste der Sinn Deiner Antwort.

                    Dieses Problem hat Patrick bereits gelöst.

                    Nö, sonst würde er nicht weiter fragen. Er möchte:

                    über die value auf das selected zugreifen.

                    Das hat er auch vorher schon einmal exakt so gesagt

                    Daraus lese ich, ich suche eine Funktion, die mir an Hand des Option-Values dieses zurückliefert _ohne_ immer eine zeitintensive Schleife zu durchlaufen: Das könnte, wie gesagt, ein weiteres Objekt eben machen:

                      
                    var A = new Array();  
                    window.onload = function() {  
                     var OO = document.forms[0].Auswahl.options;  
                     for (var i=0; i<OO.length; i++)  
                      A[OO[i].value] = OO[i];  
                    }  
                      
                    function getElementByOptionValue(v){  
                     return (typeof A[v]!=undefined)?A[v]:null;  
                    }  
                    
                    

                    Beispielseite

                    Er möchte eine <option> - von welcher er den Wert kennt - selektieren

                    Ja!

                    (und alle anderen deselektieren).

                    Das konnte ich bisher nicht rauslesen...

                    Mit freundlichem Gruß
                    Micha

                    --
                    LeagueEditor JavaScript kostenlose Ligaverwaltung || richtig Messen will gelernt sein
              2. n'abend,

                dank dir für deine Hilfe. ABER ich hab mich falsch ausgedrückt.
                Ich möchte nicht die Value ändern, sondern über die value auf das selected zugreifen.

                Da der Wert einer Option aber in keinem Hash / Array / whatever zur Verfügung steht, bleibt dir nichts anderes übrig, als alle Optionen in deinem <select> zu durchlaufen, den wert zu prüfen und entsprechend zu handeln.

                weiterhin schönen abend...

                --
                wer braucht schon großbuchstaben?
                sh:( fo:# ch:# rl:° br:> n4:& ie:{ mo:} va:) de:] zu:} fl:{ ss:? ls:[ js:|
  2. n'abend,

    opener.document.forms["formular1"].elements["name"].value = a;

    Das funktioniert auch.
    Jetzt meine Frage: Gibt es die Möglichkeit auch einen Wert in einem Selectfeld mittels dieser Methode auf "selected" zu setzen?

    nein. das musst du leider von hand machen. etwa so:

      
    // hole dir dein objekt  
    var deinObjekt = document.getElementById('deinSelectFeld');  
    // erweitere das Objekt um die Funktion selectOptionByValue  
    deinObjekt.selectOptionByValue = function( value )  
    {  
     for(var i = 0; i < this.options.length; i++)  
     {  
      if( this.options[i].value == value )  
       this.options[i].selected = true;  
      else  
       this.options[i].selected = false;  
     }  
    }  
    // selektiere eine neue option  
    deinObject.selectOptionByValue( 'irgendwas' );  
    
    

    weiterhin schönen abend...

    --
    wer braucht schon großbuchstaben?
    sh:( fo:# ch:# rl:° br:> n4:& ie:{ mo:} va:) de:] zu:} fl:{ ss:? ls:[ js:|