Comment faire pour supprimer une saisie semi-automatique une fois ajouté à un élément?
Après l'ajout d'une saisie semi-automatique d'un élément comme:
commObj=$("#communityName").autocomplete("auto_commName_backend.php",
{'onItemSelect': handleItemSelect}, {'extraParams': 'ndo' + ndo});
Est-il une manière que je pourrais le désactiver ou de supprimer la saisie semi-automatique pour l'élément de façon dynamique?
Je suis à l'aide de jquery modifié la saisie semi-automatique plugin de Dylan Verheul.
http://www.pengoworks.com/workshop/jquery/autocomplete_docs.txt
OriginalL'auteur P Coder | 2010-06-23
Vous devez vous connecter pour publier un commentaire.
Vous pouvez supprimer la saisie semi-automatique de comportement, en utilisant la ligne de code suivante:
Je pense que la ligne sur removeData n'est pas nécessaire. J'ai testé, et après avoir fait $(contrôle).la saisie semi-automatique('détruire'), alors $(contrôle).de données (saisie semi-automatique) renvoie undefined
Avec la version de jQuery UI je suis à l'aide de (1.11), .de données() renvoie toujours pas défini. Il est préférable d'omettre la condition, et de mettre un try/catch autour de l'appel à la saisie semi-automatique("détruire").
OriginalL'auteur Matloob Ali
La méthode la plus simple et la plus sûre façon que j'ai trouvée est:
Sinon, comme mentionné avant cela fonctionne aussi:
Si vous êtes sûr de votre contrôle dispose d'une saisie semi-automatique de gestionnaire d'ensemble.
La première option fonctionne à merveille.
Exactement ce dont j'avais besoin
OriginalL'auteur Paglian
Si vous ajoutez une classe comme, disons "EnableAC" à votre élément, vous pouvez cibler cette catégorie pour la saisie semi-automatique. Lorsque vous avez terminé la saisie semi-automatique et souhaitez le désactiver, vous supprimez cette classe.
Pourquoi voulez-vous de désactiver la fonction si? Il peut tromper vos utilisateurs si ils veulent changer leur choix, et la saisie semi-automatique ne se déclenche.
<input>
il va rester en place plusieurs gestionnaires d'événements.OriginalL'auteur Rob Allen
J'ai juste eu un bref coup d'oeil au fichier js du plugin.
Il semble y avoir une ligne de javascript (numéro 21) lors de l'initialisation de l'jquery.autocomplete.js plugin qui définit la source d'entrée:
Sans le tester, peut-être vous pouvez simplement appeler alors le suivant pour supprimer le lien entre le plugin et de l'entrée d'origine?
Ouais, comme je l'ai dit, je n'ai pas eu beaucoup de chance de le regarder comme j'étais pressé, mais il pourrait être un bon point de départ pour P Coder de l'information. Il n'y a pas natif de détruire la fonction dans le plugin script que j'ai pu voir.
OriginalL'auteur Brian Scott
Ce plugin fils lui-même jusqu'à la
<input>
assez étroitement. Si c'était de ma page, je pense que je ferais juste deux balises avec le même "nom", l'un avec la saisie semi-automatique et l'autre sans. Quand j'ai voulu basculer entre eux, je ferais un handicap et cachés, et d'activer/de montrer l'autre. (modifier oh, et assurez-vous également que les valeurs des champs d'avoir copié d'avant en arrière quand ils commutateur)OriginalL'auteur Pointy
J'ai juste essayé
$('#').la saisie semi-automatique = null;
et il fonctionne.
J'étais en permettant le changement de nom de la mouche et le résultat ne serait pas montrer, maintenant, il n'.
L'ancien inchangé nom de spectacle, avant de désormais la de nouveaux on ne
OriginalL'auteur Gary
Dans la dernière version de jQuery UI(1.12),
$(control).data('autocomplete')
ne renvoie vrai même lorsque la saisie semi-automatique des données est présent.Au lieu de cela, une vérification de la présence de
ui-autocomplete-input
classe retourné véritable.La suivante devrait suffire, je pense.
OriginalL'auteur Vineeth