Maison >interface Web >js tutoriel >JQUERY SELECT COMPONNANTS BOX - Chosenment vs Select2
Avez-vous déjà travaillé sur un projet, et il semblait que quelque chose était désactivé visuellement? Peut-être que le projet était presque terminé, mais certains éléments n'étaient pas si bons? Ce sont peut-être de petits détails, mais ils font une différence.
Si votre projet contient des boîtes de sélection peu attrayantes et que vous souhaitez y ajouter plus de fonctionnalités, vous trouverez choisi et sélectionnez2 très utile. Ce sont deux plugins jQuery qui aident à styliser vos boîtes de sélection pour améliorer leur apparence, personnaliser leur comportement et les rendre plus conviviaux.
Dans cet article, je mettrai ces deux plugins en tête-à-tête et comparerai leurs fonctionnalités et leurs cas d'utilisation, afin que vous puissiez faire un choix éclairé quant à ce qui vous convient le mieux.
Les deux choisis et Select2 sont disponibles via GitHub. Cela signifie que vous pouvez cloner le référentiel respectif et obtenir les fichiers dont vous avez besoin.
<span>git clone https://github.com/harvesthq/chosen.git </span><span>git clone https://github.com/select2/select2.git </span>
Sinon, vous pouvez installer les deux plugins avec Bower (qui sert d'interface à GitHub). Si Bower est votre itinéraire préféré, vous pourriez aussi bien saisir jQuery pendant que vous y êtes.
bower <span>install jquery </span>bower <span>install select2 </span>bower <span>install chosen </span>
Sinon, saisissez les fichiers de votre CDN de choix (par exemple CDNJS) et incluez-les dans votre page de la manière habituelle. C'est ce que j'ai fait dans les modèles ci-dessous auxquels vous pouvez l'utiliser pour suivre les exemples du tutoriel.
<span>git clone https://github.com/harvesthq/chosen.git </span><span>git clone https://github.com/select2/select2.git </span>
bower <span>install jquery </span>bower <span>install select2 </span>bower <span>install chosen </span>
Comme vous pouvez le voir en visitant la page ITS GitHub, le développement du plugin choisi n'est pas aussi actif qu'il l'a été et la version la plus récente des dates choisies du 6 février 2014. Cela ne veut pas dire que la bibliothèque a été abandonné - loin de là! Les développeurs l'ont plutôt mis à l'endroit où ils le souhaitent et il reste un plugin fiable et robuste.
contraste que avec Select2, d'autre part, et la différence est perceptible. Le développement de cette bibliothèque va de la vapeur et il a récemment publié sa quatrième version officielle (4.0.0). Cela signifie que de nouvelles fonctionnalités sont ajoutées, tandis que d'autres sont obsolètes et / ou supprimées.
Une autre métrique utile pourrait être la quantité de questions avec ces balises sur le débordement de pile. Vous pouvez essayer ceci par vous-même ici: http://stackoverflow.com/tags
Si vous tapez "SELECT2", puis contrastez ce "choisi", vous verrez qu'il semble y avoir beaucoup plus d'activité autour du plugin Select2. Vous verrez également qu'il a un certain nombre d'intégations, comme avec AngularJS et Ruby on Rails.
select2 et choisi modifier la façon dont les cases simples et multiples apparaissent.
Dans plusieurs boîtes de sélection avec Pure HTML, les utilisateurs peuvent voir certaines des options disponibles dans la liste. Ce n'est pas visuellement attrayant et un changement doit être apporté à cette vue. Choisi et sélectionnez2 Supprimer la «Vistère de liste» et la liste des options apparaîtra lorsque vous cliquez sur la case Sélectionner. Ce n'est qu'alors que vous pouvez faire les sélections.
Vous pouvez rechercher vos options avec les deux plugins. Cliquez simplement dans la case, puis saisissez les premiers caractères de votre choix, puis les résultats apparaîtront en temps réel en fonction de votre recherche.
SELECT2 facilite la désélection des options qui ont déjà été sélectionnées. Lorsque la liste déroulante est ouverte, vous pouvez cliquer sur n'importe quel élément sélectionné pour les désélectionner. Choisi n'a pas encore implémenté cette fonctionnalité.
à la fois le texte choisi et SELECT2 Prise en charge du texte pour les boîtes de sélection unique et multiple.
Parfois, dans une boîte de sélection multiple, vous devez limiter le nombre d'options sélectionnées par les utilisateurs. L'avantage de l'utilisation de Chosen et de Select2 est que vous pouvez modifier le nombre de sélections très facile.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Chosen/Select2 Template</title> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/chosen/1.4.2/chosen.min.css"> </head> <body> <script></script> <script src="//cdnjs.cloudflare.com/ajax/libs/chosen/1.4.2/chosen.jquery.min.js"></script> <script>// Additional logic goes here</script> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Select2 Template</title> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.1/css/select2.min.css"> </head> <body> <script src="https://img.php.cn/code.jquery.com/jquery-1.11.3.min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.1/js/select2.min.js"></script> <script>// Additional logic goes here</script> </body> </html>
Vous pouvez limiter le nombre de sélections qui peuvent être choisies à partir d'une boîte multi-sélection avec les deux plugins, bien qu'il convient de noter que la version de cette fonction de choisie est plus avancée. Après avoir atteint la limite, si vous essayez de sélectionner une option supplémentaire, un événement est appelé.
Dans cet exemple, les utilisateurs sont invités à sélectionner deux jours qui sont les plus productifs de leur semaine. Lorsqu'ils essaient de sélectionner un troisième jour, Chosen appellera un événement. J'ai réglé choisi pour ajouter une alerte montrant que la limite a été atteinte:
Voir le nombre de sélections Limited Nombre de sélections: choisi vs select2 by SitePoint (@SitePoint) sur codepen.
Les gens verront vos pages sur toutes sortes d'appareils afin de sélectionner les cases, comme les autres composants de votre site Web, devraient être réactives. La largeur du réglage de support choisi et SELECT2 avec un pourcentage et la fonctionnalité est presque la même pour les deux. Cela permet de créer des cases de sélection réactives qui tiennent compte de la taille de l'écran ou de la largeur de la fenêtre du navigateur.
La seule différence choisie et SELECT2 à propos de cette fonctionnalité est le code. Vous pouvez déclarer la largeur de Select2 dans la balise SELECT dans HTML. Voir-le ci-dessous pour comprendre à quel point est pratique de rendre les boîtes de sélection réactives et visuellement meilleures avec choisis et sélectionnés2.
<span>git clone https://github.com/harvesthq/chosen.git </span><span>git clone https://github.com/select2/select2.git </span>
bower <span>install jquery </span>bower <span>install select2 </span>bower <span>install chosen </span>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Chosen/Select2 Template</title> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/chosen/1.4.2/chosen.min.css"> </head> <body> <script src="https://img.php.cn/code.jquery.com/jquery-1.11.3.min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/chosen/1.4.2/chosen.jquery.min.js"></script> <script>// Additional logic goes here</script> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Select2 Template</title> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.1/css/select2.min.css"> </head> <body> <script src="https://img.php.cn/code.jquery.com/jquery-1.11.3.min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.1/js/select2.min.js"></script> <script>// Additional logic goes here</script> </body> </html>
Chosen et SELECT2 ont d'autres fonctionnalités communes, mais je voudrais jeter un œil à trois fonctionnalités que j'ai trouvées intéressantes: résultats désactivés, boîte de recherche cachée et prise en charge de la droite à gauche (RTL).
Le plus intéressant de ces résultats désactivés. Avec cette option définie, choisie et SELECT2 survient les options activées. Vous pouvez voir des choix désactivés, mais vous ne pouvez pas les sélectionner. Les résultats désactivés seraient normalement définis pour empêcher un utilisateur de sélectionner l'option jusqu'à ce qu'une autre condition soit remplie. Cette fonctionnalité transforme vos boîtes de sélection en un outil puissant et augmente l'engagement avec l'utilisateur si vous apprenez à l'utiliser en fonction de vos besoins.
Afin de faire savoir aux plugins que vous avez activé les résultats désactivés, ajoutez l'attribut désactivé = "Disabled" à la balise d'option où vous utiliserez cette fonction.
<span>max_selected_options: 2 // Chosen Plugin </span>
Dans cet exemple choisi, l'utilisateur ne peut sélectionner que des options disponibles dans leur emplacement géographique, mais ils peuvent également voir les autres options même si elles ne sont pas disponibles:
Voir le stylo choisi vs select2: Résultats désactivés par SitePoint (@SitePoint) sur Codepen.
Lorsque vous n'avez pas beaucoup de choix dans la liste des options dans des boîtes à sélection unique, il est conseillé de masquer la zone de recherche. Dans Chosen, pour masquer la zone de recherche, vous devez utiliser Disable_Search_Threshold et lui définir une valeur plus grande que le nombre d'options dans votre boîte de sélection.
<span>maximumSelectionLength: 2 // Select2 Plugin </span>
<!-- Chosen - HTML --> <select > ... </select>
La même logique s'applique à Select2, mais le seul changement est la terminologie, au lieu de Disable_Search_Threshold, il est appelé minimumResultsForsearch.
<span>// Chosen - JavaScript </span><span>$(".responsiveChosen").chosen({width: "50%"}); </span>
Une chose que je devrais ajouter sur SELECT2 est que vous pouvez masquer la zone de recherche en permanence sans vous soucier du nombre d'options que vous avez dans votre boîte de sélection. Vous pouvez le faire en définissant MinimumResultsForsearch à Infinity.
<span>git clone https://github.com/harvesthq/chosen.git </span><span>git clone https://github.com/select2/select2.git </span>
Un grand nombre de sites Web sont écrits dans différentes langues avec différents alphabets et en dehors de cela, certaines de ces langues sont lues dans une autre direction. Il est conseillé de sélectionner les cases devraient s'ajuster avec les règles de ces langues et déplacer leur direction de LTR (gauche à droite) à RTL. Cela améliore l'expérience utilisateur et augmente la convivialité de votre site Web pour les utilisateurs de cette région.
à la fois choisi et SELECT2 Prise en charge de la technique de droite à gauche dans des boîtes de sélection. La seule différence qu'ils ont est que SELECT2 a besoin de vous pour déclarer la prise en charge RTL dans le fichier JavaScript, en attendant, vous avez simplement ajouté la classe choisie-RTL aux côtés de la classe choisie choisie dans HTML.
Alors que SELECT2 a été inspiré par choisi et a la plupart des fonctionnalités de l'élu, ses contributeurs ne s'y sont pas arrêtés. Ils ont intégré certaines des fonctionnalités les plus cool pour sélectionner des boîtes, y compris l'accès programmatique, les modèles, le mode désactivé, le marquage et la tokenisation. Il prend également en charge l'Ajax.
L'accès programmatique prend des cases sélectionnées à un autre niveau. Ils sont très utiles combinés avec plusieurs boîtes de sélection. Vous pouvez ajouter des boutons qui agissent sur ces cases de sélection en fonction de vos règles à l'aide de JavaScript.
Si certaines des options de la boîte de sélection multiple ont une liaison logique entre elles et selon vos observations, ces options «liées» ont une grande probabilité à sélectionner parmi beaucoup d'utilisateurs, il est utile de les sélectionner Choix en un seul clic.
bower <span>install jquery </span>bower <span>install select2 </span>bower <span>install chosen </span>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Chosen/Select2 Template</title> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/chosen/1.4.2/chosen.min.css"> </head> <body> <script src="https://img.php.cn/code.jquery.com/jquery-1.11.3.min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/chosen/1.4.2/chosen.jquery.min.js"></script> <script>// Additional logic goes here</script> </body> </html>
Dans cet exemple, vous pouvez rapidement définir le bouton «Swift» et «Objective-C» en cliquant sur le bouton «IOS Technologies»:
Voir le stylo select2 - Méthodes programmatiques par SitePoint (@SitePoint) sur Codepen.
Le taggage est une autre des fonctionnalités de Select2 qui rend les cases sélectionnées plus puissantes et étend la limite des cases de sélection normales. Il permet aux utilisateurs d'ajouter de nouveaux choix qui ne sont pas déjà dans la liste des options.
Le taggage est également très pratique dans les cas où la gamme de choix est très grande, et vous ne pouvez pas taper tous les choix dans la liste des options. Lorsque le balisage est activé et que les utilisateurs ne trouvent pas leur choix dans la liste, il les «pousse» à créer une balise de leur choix.
Soyez prudent lorsque vous utilisez le tagging, car il peut être utilisé à mauvais escient par les utilisateurs «malveillants» entrant des balises non valides qui ne correspondent pas à l'objectif de la boîte de sélection.
Pour activer le balisage, vous devez définir l'option Tags sur true.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Select2 Template</title> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.1/css/select2.min.css"> </head> <body> <script src="https://img.php.cn/code.jquery.com/jquery-1.11.3.min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.1/js/select2.min.js"></script> <script>// Additional logic goes here</script> </body> </html>
Voir le stylo choisi vs select2: Tagging by SitePoint (@SitePoint) sur codepen.
Une fois que les balises sont définies sur true, l'option pour inclure des séparateurs de jeton devient disponible. Après avoir entré le nom de la balise, tapez simplement l'un des séparateurs de jeton qui sont spécifiés. Ensuite, la balise est entrée comme choix dans la liste des options. Les séparateurs de jeton servent de raccourcis pour créer des balises en tapant des caractères de votre clavier.
À l'aide de Select2, vous pouvez créer des séparateurs de jetons avec n'importe quel personnage que vous souhaitez. Dans l'exemple suivant, quatre séparateurs de jeton sont utilisés: / ,,; et "" (espace).
<span>git clone https://github.com/harvesthq/chosen.git </span><span>git clone https://github.com/select2/select2.git </span>
Essayez-le en tapant une nouvelle option, suivie par l'un des caractères de séparateur pour le sélectionner et l'ajouter à la liste des options:
Voir le stylo Select2 - Tokenisation par SitePoint (@SitePoint) sur Codepen.
L'une des fonctionnalités les plus puissantes de Select2 est le modèle. Les modèles nous permettent de personnaliser l'apparence des composants affichés par Select2. Cette fonctionnalité peut être utilisée pour fusionner l'entrée minimale qui est fournie par la balise d'option avec des images ou d'autres composants pour créer un affichage visuel pour l'utilisateur.
Cet exemple combinait les modèles de Select2 avec les glyphicons de bootstrap:
Voir les modèles Pen SELECT2 par SitePoint (@SitePoint) sur Codepen.
Bien que choisi a de belles options à l'intérieur, SELECT2 offre un peu plus en termes de fonctionnalités disponibles pour une utilisation avec des boîtes de sélection. Chosen est une bonne option si vous le combinez dans le «flux» de votre site Web, mais si vous souhaitez accéder à des fonctionnalités plus avancées, SELECT2 est le meilleur choix.
Je recommanderais fortement d'utiliser SELECT2; Il est mis à jour plus souvent que choisi et a moins de bogues. Une chose que j'ai trouvée très utile sur Select2 est sa documentation. Pendant que vous le lisez, vous pouvez utiliser des composants Select2 dans votre projet à la volée.
Si vous avez eu de bonnes ou de mauvaises expériences en utilisant Chosen ou SELECT2, faites-le moi savoir dans la section des commentaires ci-dessous.
Pour implémenter Select2, vous devez d'abord inclure les fichiers SELECT2 CSS et JavaScript dans votre projet. Ensuite, vous pouvez initialiser SELECT2 sur n'importe quelle boîte de sélection en utilisant le $ (". MySelectBox"). SELECT2 (); commande. Vous pouvez également personnaliser le comportement de Select2 en passant des options à la fonction SELECT2 ().
Bien qu'il soit techniquement possible d'utiliser les deux choisis et Select2 Dans le même projet, il n'est généralement pas recommandé. Les deux plugins visent à améliorer la fonctionnalité de sélections de sélection, et les utiliser ensemble pourrait entraîner des conflits et un comportement inattendu. Il est préférable de choisir celui qui correspond le mieux à vos besoins.
SELECT2 et choisis permettent une personnalisation approfondie via CSS. Vous pouvez modifier les couleurs, les polices, les tailles et autres aspects de leur apparence en remplaçant leurs styles par défaut dans votre propre fichier CSS.
select2 is est-il Bien adapté à la gestion de grands ensembles de données grâce à son support Ajax. Vous pouvez configurer Select2 pour récupérer des données à la volée comme types d'utilisateurs, ce qui empêche la nécessité de charger toutes les données à l'avance. Cela peut améliorer considérablement les performances lorsque vous travaillez avec de grands ensembles de données.
Oui, Chosen et Select2 peuvent être utilisés avec des frameworks javascript comme Angular ou réagir. Cependant, vous devrez peut-être utiliser des emballages ou des bibliothèques supplémentaires pour garantir la compatibilité.
choisies sont livrées avec des fonctionnalités de recherche intégrées. Lorsque vous initialisez choisi dans une boîte de sélection, une zone de recherche est automatiquement ajoutée. Les utilisateurs peuvent taper dans cette boîte pour filtrer les options dans la zone de sélection.
À la fois SELECT2 et Chosen prennent en charge plusieurs sélections. Vous pouvez activer cette fonctionnalité en ajoutant l'attribut multiple à votre boîte de sélection. Lorsque plusieurs sélections sont activées, les utilisateurs peuvent sélectionner plusieurs options dans la case SELECT.
Les deux choisis et SELECT2 sont conçus pour fonctionner avec Desktop navigateurs, mais ils offrent également un support limité aux appareils mobiles. Cependant, en raison de la grande variété de navigateurs et d'appareils mobiles, certaines fonctionnalités peuvent ne pas fonctionner comme prévu.
Les deux select2 et choisis fournissent un numéro des événements que vous pouvez écouter et répondre. Par exemple, vous pouvez écouter l'événement de changement pour exécuter une fonction chaque fois que l'utilisateur fait une sélection. Vous pouvez joindre des écouteurs d'événements en utilisant la méthode .on () dans jQuery.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!