J'ai une exigence où JE DOIS utiliser la liste déroulante de saisie semi-automatique de bootstrap, MAIS l'utilisateur peut avoir un texte de forme libre dans cette liste déroulante s'il le souhaite. Avant de penser à TypeAhead, je pourrais utiliser la zone de texte Bootstrap TypeAhead, mais je dois avoir la liste déroulante car nous voulons donner des valeurs par défaut comme options de démarrage au cas où les utilisateurs ne sauraient pas quoi rechercher.
J'utilise ceci avec MVC DropDownListFor car cela crée un contrôle de sélection pour nous.
J'ai trouvé cet article qui fait ça pour moi.
https://github.com/danielfarrell/bootstrap-combobox/pull/20
Tout ce que j'avais à faire était de retirer le nom du contrôle de sélection et le contrôle me permettait d'entrer du texte au format libre. Tout va bien jusqu'à présent.
Maintenant, j'utilise ceci en conjonction avec Knockoutjs. Je lie mes options et la valeur sélectionnée au contrôle de sélection, puis sur la ligne rendue de mon modèle, j'ai appelé (selector) .combobox () qui fait du contrôle de sélection une comobobox bootstrap et ajoute un contrôle d'entrée et masque le contrôle de sélection dans les scènes derrière.
Le problème maintenant, c'est lorsque j'essaie de faire publier les valeurs sur le serveur, car la valeur que je mets dans la zone de saisie n'est pas une option valide parmi les options que j'ai données pour sélectionner le contrôle, il la définit toujours sur la première option par défaut. C'est parce que j'ai défini la liaison de la valeur sélectionnée sur le contrôle de sélection et non sur la zone de saisie qui a été créée par bootstrap-combobox.js.
Ma question est de savoir comment obtenir la zone de saisie pour lier les données à la même propriété que celle à laquelle le contrôle de sélection était lié.
D'autres options ?? Faites-moi savoir si vous avez besoin de plus de précisions ou si vous avez des questions. Veuillez suggérer.
Merci.