Maison > Article > interface Web > jquery javascript pour écrire la nationalité control_jquery
Je souffrais du manque d'un bon contrôle de nationalité, j'ai donc pris le temps de rédiger un contrôle de nationalité et je le partage maintenant avec tout le monde.
Fonctions principales et introduction à l'interface
Le contrôle de nationalité prend principalement en charge le filtrage du chinois et de l'anglais ainsi que les événements de haut et de bas du clavier.
Présentation du code source
Le cœur du contrôle de nationalité est constitué de deux fichiers, navtionality.js et mian.css. La fonction principale de navtionality.js est la construction DOM du contrôle de nationalité et la liaison d'événement correspondante. main.css est principalement utilisé pour restituer le style du contrôle de nationalité. Et main.js est la méthode d'appel du contrôle de nationalité.
Structure HTML
Pour que le contrôle de nationalité soit affiché sur la page, il faut qu'il soit paramétré au préalable sur la page pour que le contrôle se charge. control-nationality-suggest est le conteneur, input est la réception d'entrée, nationality-suggest-list-container est la liste d'invites, utilisée pour afficher la liste de nationalités filtrée.
Navtionality est au cœur du contrôle de nationalité et est principalement responsable du filtrage des données, du rendu DOM et de la liaison des événements correspondants du contrôle de nationalité. init est l'entrée de l'ensemble du contrôle. L'objet de liaison spécifique est déterminé via le paramètre d'option transmis.
Introduction à la recherche rapide
Dans l'ensemble du contrôle de nationalité, la recherche est la partie la plus importante, comment filtrer les données de nationalité correspondantes en fonction de la saisie de l'utilisateur. La méthode que nous adoptons consiste à utiliser la méthode de correspondance régulière. Nous formatons d'abord les données de nationalité
.Par exemple, les données de nationalité d'origine ressemblent à ceci : [{ id: "CN", en: "China", cn: "Mainland China" }, { id: "HK", en: "Hong Kong", cn : "Hong Kong, Chine" }, { id : "MO", fr : "Macao", cn : "Macao, Chine" }
Ensuite, nos données formatées ressemblent à ceci : #CN|Chine|中国 Mainland##HK|Hong Kong|Chine Hong Kong##MO|Macao|Chine Macao##
Pourquoi faisons-nous cela ? C'est parce que nous devons utiliser des expressions régulières pour obtenir une correspondance rapide des données.
Vous devez avoir compris l'essentiel après avoir vu notre correspondance régulière. Oui, nous utilisons des expressions régulières pour filtrer rapidement les données en convertissant le tableau d'origine en chaîne.
En comparant la méthode de recherche que nous avons implémentée via la traversée, nous pouvons constater que l'efficacité de la régularisation est beaucoup plus élevée.
introduction à main.js
Main est la méthode qui appelle le contrôle de nationalité et lie le contrôle de nationalité en traversant l'objet DOM dont le cals est control-nationality-suggest dans la page.
Démo et téléchargement