Obtenir la saisie de l'utilisateur, de la simple boîte de sélection à l'aide de Select2
Question
J'ai juste commencé à l'aide de Select2 (http://ivaynberg.github.io/select2/) et je suis en train de faire une tâche de base.
J'ai une boîte de sélection qui a, par exemple, 3 éléments. Je veux être en mesure d'avoir à l'utilisateur de sélectionner 1 des 3 résultats ou le type de leurs propres résultat et puis finalement, sur le présenter, il soumettra la valeur est dans la boîte.
Ce que j'ai Essayé
<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>
Le code ci-dessus me permet de voir le 3 résultats et tapez un résultat moi-même. Mais je n'arrive pas à obtenir le tapé dans le résultat de "coller" quand je clic, appuyez sur entrée ou sélectionnez le résultat que j'ai tapé juste. En va de même pour le sélectionner des options, mais je suis plus concerné par l'utilisateur saisie de texte.
Voici à quoi il ressemble:
OriginalL'auteur jamez14 | 2013-09-20
Vous devez vous connecter pour publier un commentaire.
Le paramètre createSearchChoice permet de faire exactement ce que vous voulez. Voici un exemple:
Prises à partir d'une question fermée à: https://github.com/ivaynberg/select2/issues/201
Violon: http://jsfiddle.net/pHSdP/2/
Aussi, assurez-vous d'ajouter un nom à l'entrée, sinon vous ne verrez pas la valeur à côté serveur
OriginalL'auteur Daru
Juste une note rapide pour quelqu'un d'autre qui est différent de l'entrée des données. Dans le cas de la console dit " ce.le texte est non définie ", assurez-vous de vérifier votre balise de texte, comme ceci:
OriginalL'auteur Duc Hong
De la bibliothèque que vous utilisez est utilisé pour filtrer les options dans une boîte de sélection. Il ne prend pas de nouvelles d'entrée, conformément à leurs propres la documentation:
Je vous suggère d'utiliser jQueryUI de saisie semi-automatique ou TypeAhead
OriginalL'auteur Srihari