Los dos complementos de jQuery, Chosen y Select2, se utilizan para diseñar los cuadros de selección. Mejora el aspecto de los cuadros de selección, mejora su comportamiento, haciéndolos mucho más fáciles de usar. Se pueden utilizar tanto para cuadros de selección únicos como para cuadros de selección múltiple.
Estas bibliotecas jQuery deben agregarse:
- seleccionar2.min.js
- seleccionar2.min.css
- elegido.jquery.min.js
- elegido.min.css
Active el complemento en los cuadros de selección:
-
$(“.chosen-select”).chosen()
-
$(“.chosen-select”).select2()
Diferencias entre Select2 y Chosen:
-
Selección y Deselección
Select2 puede anular la selección de las opciones que se seleccionaron previamente simplemente haciendo clic en la opción seleccionada de la lista desplegable. Pero elegido no tiene esta función ya que las opciones seleccionadas se desvanecen.
<!DOCTYPE html>
<
html
>
<
head
>
<
script
src
=
</
script
>
<!--These jQuery libraries for
chosen need to be included-->
<
script
src
=
</
script
>
<
link
rel
=
"stylesheet"
href
=
<!--These jQuery libraries for select2
need to be included-->
<
script
src
=
</
script
>
<
link
rel
=
"stylesheet"
href
=
<
script
>
$(document).ready(function() {
//Select2
$(".country").select2({
maximumSelectionLength: 2,
});
//Chosen
$(".country1").chosen({
max_selected_options: 2,
});
});
</
script
>
</
head
>
<
body
>
<
form
>
<
h4
>Selections using Select2</
h4
>
<
select
class
=
"country"
multiple
=
"true"
style
=
"width: 200px;"
>
<
option
value
=
"1"
>India</
option
>
<
option
value
=
"2"
>Japan</
option
>
<
option
value
=
"3"
>France</
option
>
</
select
>
<
h4
>Selections using Chosen</
h4
>
<
select
class
=
"country1"
multiple
=
"true"
style
=
"width: 200px;"
>
<
option
value
=
"1"
>India</
option
>
<
option
value
=
"2"
>Japan</
option
>
<
option
value
=
"3"
>France</
option
>
</
select
>
</
form
>
</
body
>
</
html
>
Producción:
-
Acceso programático
Si algunas de las opciones tienen algún vínculo entre sí y estas opciones vinculadas tienen una alta probabilidad de ser seleccionadas, entonces se puede hacer con un solo clic usando Select2. Es muy útil en selecciones múltiples. Mientras que Chosen no puede realizar esta vinculación lógica.
<!DOCTYPE html>
<
html
>
<
head
>
<
script
src
=
</
script
>
<!--These jQuery libraries for chosen
need to be included-->
<
script
src
=
</
script
>
<
link
rel
=
"stylesheet"
href
=
<!--These jQuery libraries for
select2 need to be included-->
<
script
src
=
</
script
>
<
link
rel
=
"stylesheet"
href
=
<
script
>
$(document).ready(function() {
//Select2
var $prog = $(".progLang").select2();
$(".Front-end").on("click", function() {
$prog.val(["ht", "js"]).trigger("change");
});
//Chosen
var $prog1 = $(".progLang1").chosen();
$(".Front-end1").on("click", function() {
$prog1.val(["ht", "js"]).trigger("change");
});
});
</
script
>
</
head
>
<
body
>
<
form
>
<
h4
>Selections using Select2</
h4
>
<
select
class
=
"progLang"
multiple
=
"true"
style
=
"width: 200px;"
>
<
option
value
=
"py"
>Python</
option
>
<
option
value
=
"ja"
>Java</
option
>
<
option
value
=
"ht"
>HTML</
option
>
<
option
value
=
"js"
>Javascript</
option
>
<
option
value
=
"c"
>C++</
option
>
</
select
>
<
input
type
=
"button"
class
=
"Front-end"
value
=
"set Front-end Technologies"
/>
<
h4
>Selections using Chosen</
h4
>
<
select
class
=
"progLang1"
multiple
=
"true"
style
=
"width: 200px;"
>
<
option
value
=
"py"
>Python</
option
>
<
option
value
=
"ja"
>Java</
option
>
<
option
value
=
"ht"
>HTML</
option
>
<
option
value
=
"js"
>Javascript</
option
>
<
option
value
=
"c"
>C++</
option
>
</
select
>
<
input
type
=
"button"
class
=
"Front-end1"
value
=
"set Front-end Technologies"
/>
</
form
>
</
body
>
</
html
>
Producción:
Después de hacer clic en el botón Establecer tecnologías front-end :
-
Etiquetado
Cuando tiene una amplia gama de opciones y no puede incluir todas las opciones, habilite la opción de etiquetas. Esto hará que el usuario agregue una nueva opción si aún no está presente en las opciones. Esto se puede hacer configurando la opción de etiquetas en «verdadero» .
Esta opción está disponible en Select2 mientras que en Elegido el usuario no puede agregar nuevas opciones a la lista.
<!DOCTYPE html>
<
html
>
<
head
>
<
script
src
=
</
script
>
<!--These jQuery libraries for
chosen need to be included-->
<
script
src
=
</
script
>
<
link
rel
=
"stylesheet"
href
=
<!--These jQuery libraries for select2
need to be included-->
<
script
src
=
</
script
>
<
link
rel
=
"stylesheet"
href
=
<
script
>
$(document).ready(function() {
//Select2
$(".progLang").select2({
tags: true,
});
//Chosen
$(".progLang1").chosen({
tags: true,
});
});
</
script
>
</
head
>
<
body
>
<
form
>
<
h4
>Selections using Select2</
h4
>
<
select
class
=
"progLang"
multiple
=
"true"
style
=
"width: 200px; position: relative;"
>
<
option
value
=
"py"
>Python</
option
>
<
option
value
=
"ja"
>Java</
option
>
<
option
value
=
"ht"
>HTML</
option
>
</
select
>
<
h4
>Selections using Chosen</
h4
>
<
select
class
=
"progLang1"
multiple
=
"true"
style
=
"width: 200px;"
>
<
option
value
=
"py"
>Python</
option
>
<
option
value
=
"ja"
>Java</
option
>
<
option
value
=
"ht"
>HTML</
option
>
</
select
>
</
form
>
</
body
>
</
html
>
Producción:
-
Tokenización
La tokenización se usa después de que la opción de etiquetas se establece en «verdadero». Proporciona separadores de fichas que se utilizan como acceso directo para crear etiquetas. Esto se puede hacer escribiendo cualquier token separador que se especifica en la lista, después del nombre de la etiqueta. Se puede crear cualquier carácter como separador de fichas con la ayuda de Select2.
Como se mencionó anteriormente, dado que Chosen no tiene la función de etiquetado, la función de tokenización tampoco está disponible.
<!DOCTYPE html>
<
html
>
<
head
>
<
script
src
=
</
script
>
<!--These jQuery libraries for
chosen need to be included-->
<
script
src
=
</
script
>
<
link
rel
=
"stylesheet"
href
=
<!--These jQuery libraries for
select2 need to be included-->
<
script
src
=
</
script
>
<
link
rel
=
"stylesheet"
href
=
<
script
>
$(document).ready(function() {
//Select2
$(".progLang").select2({
tags: true,
maximumSelectionLength: 2,
tokenSeparators: [
"/", ", ", ";", " ", "#"],
});
//Chosen
$(".progLang1").chosen({
tags: true,
max_selected_options: 2,
tokenSeparators: [
"/", ", ", ";", " ", "#"],
});
});
</
script
>
</
head
>
<
body
>
<
form
>
<
h4
>Selections using Select2</
h4
>
<
select
class
=
"progLang"
multiple
=
"true"
style
=
"width: 200px;"
>
<
option
value
=
"py"
>Python</
option
>
<
option
value
=
"ja"
>Java</
option
>
<
option
value
=
"ht"
>HTML</
option
>
</
select
>
<
h4
>Selections using Chosen</
h4
>
<
select
class
=
"progLang1"
multiple
=
"true"
style
=
"width: 200px;"
>
<
option
value
=
"py"
>Python</
option
>
<
option
value
=
"ja"
>Java</
option
>
<
option
value
=
"ht"
>HTML</
option
>
</
select
>
</
form
>
</
body
>
</
html
>
Producción:
Publicación traducida automáticamente
Artículo escrito por manvi_jain14 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA