Birgit: Select -> Option setzen

Hallo,

ich hab den unteren JS Code, um die Options in meinen Select zu setzen und verwende dabei jQuery.
Meine Frage wäre jetzt, wie ich es machen kann, dass ich nach dem Einfügen der Options in das Select eine Option auswählen kann.
Wäre euch dankbar für hilfe.
Vielen Dank!!
lg
Birgit

  
var eventSelect = $('[name=competitions]');  
	    	for (var i = 0; i < data.events.length; i++) {  
	    		eventSelect.append('<option>' + data.events[i] + '</option>');  
	    	}  
	    	$("option[value*='2']").attr('selected', 'selected');  // so funktionierts mal nicht  

  1. Die Eigenschaft selected des option-elements speichert, ob eine Option ausgewählt wurde oder nicht. Du musst diese nur für alle Option-Elemente des Selects auf false setzen (wegen der ggf. möglichen Mehrfachauswahl) und dann für das auszuwählende Element auf true.

    http://de.selfhtml.org/javascript/objekte/options.htm#selected@title=http://de.selfhtml.org/javascript/objekte/options.htm#selected

    Jörg Reinholz

    1. Die Eigenschaft selected des option-elements speichert, ob eine Option ausgewählt wurde oder nicht. Du musst diese nur für alle Option-Elemente des Selects auf false setzen (wegen der ggf. möglichen Mehrfachauswahl) und dann für das auszuwählende Element auf true.

      http://de.selfhtml.org/javascript/objekte/options.htm#selected@title=http://de.selfhtml.org/javascript/objekte/options.htm#selected

      Jörg Reinholz

      Vielen Dank für die Antwort!!
      Ich hab das jetzt so versucht:

        
      var eventSelect = $('[name=competitions]');  
      	    	for (var i = 0; i < data.events.length; i++) {  
      	    		if(i != 1)  
      	    			eventSelect.append('<option selected="false" value="' + i + '">' + data.events[i] + '</option>');  
      	    		else  
      	    			eventSelect.append('<option selected="true" value="' + i + '">' + data.events[i] + '</option>');  
      	    	}  
      
      

      Leider ohne Erfolg, in deinem select wird leider nichts angezeigt:

        
      <div id="competitons">  
         <select name="competitions">  
         </select>  
      </div>  
      
      

      Könntest du mir vielleicht einen Beispielcode schreiben, wie das gehen könnte?
      Vielen Dank!!
      lg
      Birgit

      1. Könntest du mir vielleicht einen Beispielcode schreiben, wie das gehen könnte?

        Der von mir gegebene Vorschlag betraf Javascript. Du erzeugst aber html. <http://de.selfhtml.org/html/formulare/auswahl.htm#listen_vorselektiert@title=Dann musst Du Dich an die für die in HTML geltenden Regeln halten>:

        if(i != 1) {
             eventSelect.append('<option value="' + i + '">' + data.events[i] + '</option>');
        } else {
             eventSelect.append('<option selected="selected" value="' + i + '">' + data.events[i] + '</option>');

        Eine primitive Demo, ganz ohne jquery:

        <html>  
        <form name="formular_1">  
           <select name="competitions">  
               <option value="1">Test</option>  
           </select>  
        <input type="button" value="Element hinzufügen" onclick="myOptionAdd(2,'Ha!')">  
        </form>  
          
        <script type="text/javascript">
        
        function myOptionAdd(id,str) {  
          obj=document.forms['formular_1'].elements['competitions'];  
          // Löschen der Auswahl:  
          for (i=0; i<obj.lenght; i++) {  
              obj[i].selected=false;  
          }  
          //Neues Element ausgewählt einfügen  
          obj.innerHTML= obj.innerHTML + '<option selected="selected" value="'+id+'">'+str+'</option>';  
        }
        
        </script>  
        </html>
        

        Mit jquerry mag das jemand anders machen.

        Jörg Reinholz