Get user input aus einzelnen select-box mit Select2
Problem
Ich gerade angefangen mit Select2 ( http://ivaynberg.github.io/select2/ ), und ich werde versuchen zu tun, eine einfache Aufgabe.
Ich habe eine select-box, die, zum Beispiel, 3 Elemente in es. Ich möchte in der Lage sein, den Benutzer entweder wählen Sie 1 der 3 Ergebnisse, oder geben Sie in Ihrem eigenen Resultat und dann schließlich auf "Absenden", Sie legt auch immer Wert in der box.
, Was ich Versucht habe
<input style="width: 200px;" type="hidden" id="foo" />
<script type="text/javascript">
$(document).ready(function () {
$("#foo").select2({
query: function (query) {
var data = { results: [{ text: 'math' }, { text: 'science' }, { text: 'english' }] };
data.results.push({ text: query.term });
query.callback(data);
}
});
});
</script>
Den code oben erlaubt mir zu sehen, die 3 Ergebnisse und geben Sie in Ergebnis selbst. Aber ich bin nicht in der Lage, um die eingegebene Ergebnis zu "kleben" wenn ich Weg klicken, drücken Sie die EINGABETASTE, oder wählen Sie die Ergebnisse, die ich gerade eingegeben haben in. Das gleiche gilt für die Optionen, aber ich bin sehr besorgt, mit der Benutzer text eingegeben.
Hier ist, wie es aussieht:
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den parameter createSearchChoice können Sie genau das tun, was Sie wollen. Hier ist ein Beispiel:
Genommen von einer geschlossenen Frage auf: https://github.com/ivaynberg/select2/issues/201
Fiddle: http://jsfiddle.net/pHSdP/2/
Also, stellen Sie sicher, fügen Sie einen Namen für das input, sonst werden Sie nicht sehen, die Wert auf server-Seite
Nur eine kurze Anmerkung, für alle anderen, die mit unterschiedlichen Daten-Eingang. Im Fall der Konsole sagt " das.text ist nicht definiert ", stellen Sie sicher, dass Sie überprüfen Sie Ihre text-tag, wie diesem:
Bibliothek, die Sie verwenden, wird verwendet, um die filter-Optionen in einer select-box. Es dauert nicht neuen input, wie pro Ihre eigenen Dokumentation:
Ich würde vorschlagen, Sie verwenden jQueryUI AutoVervollständigen oder TypeAhead