Formular: neue Option per Popup Eingabe in ComboBox einfügen
Jack
- javascript
0 Beat
Ich möchte gerne, dass der Anwender die ComboBox mit einer selbstdefinierten Option erweitern kann. Schön wäre, wenn diese Option dann gleich ausgewählt also aktiv ist.
Auf dem Internet hab ich folgendes Script gefunden, leider ist die neue Option noch nicht aktiv. Was muss ich noch hinzufügen, dass dies auch noch funktioniert? Oder gibt es generell bessere Lösungen?
Ich bin froh um jedes Feedback. Merci!
<script type="text/javascript">
<!--
function message(value){
if(value=="newVendor"){// New Vendor is selected
var vendor = prompt("Vandor's Name","");
var elementSelect = document.getElementById('vendor');
try{
elementSelect.add(new Option(vendor, vendor), elementSelect.options[2])
}
catch(ex){
elementSelect.add(new Option(vendor, vendor), 2)
}
}
}
//-->
</script>
<div>
<form>
<select id="vendor" name="vendor" onChange="message(this.value);">
<option value="scp">SCP</option>
<option value="keller">Keller</option>
<option value="newVendor">New Vendor</option>
</select>
</form>
</div>
Was muss ich noch hinzufügen, dass dies auch noch funktioniert? Oder gibt es generell bessere Lösungen?
<script type="text/javascript">
<!--
function message(value){
if(value=="newVendor"){// New Vendor is selected
var vendor = prompt("Vandor's Name","");var elementSelect = document.getElementById('vendor');
try{
elementSelect.add(new Option(vendor, vendor), elementSelect.options[2])
}
catch(ex){
elementSelect.add(new Option(vendor, vendor), 2)
}
}
}
//-->
</script>
In deinem Fall musst du noch
elementSelect.selectedIndex=2;
definieren.
Vielleicht haben wir etwas verschiedene Vorstellungen von Combobox.
Ich verstehe eine Combobox als eine Kombination von Text-Input mit Select,
wobei die Selektbox bereits definierte Einträge enthält.
onclick in Select wird die gewählte Option in das Inputfeld kopiert, ansonsten kann das Textfeld beschrieben werden.
Nur das Textfeld wird an den Server übertragen.
Dieses Konzept entstammt dem Prinzip der Non-JS Tauglichkeit (die Selectbox wird erst mittels JS ins DOM geschrieben).
mfg Beat
--
><o(((°> ><o(((°>
<°)))o>< ><o(((°>o
Der Valigator leibt diese Fische