2016-10-15 4 views
1

Ich versuche, <input name="input"> Werte zu <select><options> jedes Mal hinzufügen, wenn ich den Wert mit onblur Funktion ändern.Hinzufügen von Option aus der Eingabe dynamisch

In diesem Fall ändert es den Wert von <input name="output">, aber ich möchte sie mehrere hinzufügen, deshalb suche ich nach Werten in selectoptions.

Ist das möglich?

Danke.

function add(form) { 
 
\t \t form.output.value = form.input.value; 
 
\t }
<form> 
 
    <input name="input" type="text" value="" onblur="add(this.form);"> 
 
    <input tabindex="-1" name="output" type="text" value=""> 
 
    <select multiple> 
 
    <option>Test</option> 
 
    </select> 
 
</form>

Antwort

2

wenn Sie meinen, dass Eingangswert nach der Änderung, fügen Sie Wert als Option ist zu wählen, ja es ist möglich Ich habe den Code finden Sie in der Demo auf untenstehenden Link

schrieb

https://jsfiddle.net/oxxqw71s/

und Code:

$("select").append($('<option>', {value:v, text:v})); 
+0

Thank you so much. Ja, genau das habe ich gesucht. Gibt es eine Chance, es umzukehren, ich meine, wenn ich den Wert aus auswählen möchte, wenn ich fälschlicherweise nur für den Fall hinzufüge. –

+0

Ja bekommen kann, wenn das Auswahlwertänderungen nur dieses attr hinzufügen onchange = "selectchanged (this.value)" dann auszuwählen, die in Javascript declare Funktion mit dem Namen wie unter Funktion selectchanged selectchanged (v) { // v der Wert von select } – Farhad

1

Sie können wie folgt implementieren.

function add(val){ 
 
    var data = val.input.value; 
 
    val.output.value = data; 
 
    
 
    var option = document.createElement("option"); 
 
    option.text = data; 
 
    val.opt.add(option, val.opt[0]); 
 
    
 
}
<form> 
 
    <input name="input" type="text" value="" onblur="add(this.form);"> 
 
    <input tabindex="-1" name="output" type="text" value=""> 
 
    <select multiple name="opt"> 
 
    <option>Test</option> 
 
    </select> 
 
</form>

HTML

<form> 
    <input name="input" type="text" value="" onblur="add(this.form);"> 
    <input tabindex="-1" name="output" type="text" value=""> 
    <select multiple name="opt"> 
    <option>Test</option> 
    </select> 
</form> 

JS

function add(val){ 
    var data = val.input.value; 
    val.output.value = data; 

    var option = document.createElement("option"); 
    option.text = data; 
    val.opt.add(option, val.opt[0]); 

} 
Verwandte Themen