Select -> Option setzen
Birgit
- javascript
0 Jörg Reinholz0 Birgit
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
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.
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.
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
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.