Объясните Chosen и Select2 на примерах
Два плагина jQuery, Chosen и Select2, используются для стилизации полей выбора. Он улучшает внешний вид окон выбора, улучшает их поведение, что делает их более удобными для пользователя. Их можно использовать как для окон одиночного выбора, так и для полей множественного выбора.
Необходимо добавить следующие библиотеки jQuery:
- select2.min.js
- select2.min.css
- selected.jquery.min.js
- selected.min.css
Активируйте плагин в полях выбора:
$ («. Selected-select»). Selected ()
$ («. Selected-select»). Select2 ()
Различия между Select2 и Chosen:
Выбор и отмена выбора
Select2 может отменить выбор ранее выбранных параметров, просто щелкнув выбранный параметр в раскрывающемся списке. Но у selected нет этой функции, так как выбранные параметры блекнут.
<!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
>
Выход:
Программный доступ
Если некоторые из параметров имеют некоторую связь друг с другом, и эти связанные параметры имеют высокую вероятность быть выбранными, то это можно сделать одним щелчком мыши с помощью Select2. Это очень полезно при множественном выборе. Пока Chosen не может выполнить эту логическую привязку.
<!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
>
Выход:
После нажатия кнопки « Установить интерфейсные технологии» :
Добавление тегов
Если у вас есть широкий выбор вариантов, и вы не можете включить все варианты, включите опцию тегов. Это заставит пользователя добавить новый вариант, если он еще не указан в параметрах. Это можно сделать, установив для параметра тегов значение «true» .
Эта опция доступна в Select2, в то время как в Chosen пользователь не может добавлять новые варианты в список.
<!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
>
Выход:
Токенизация
Токенизация используется после того, как для параметра тегов установлено значение «true». Он предоставляет разделители токенов, которые используются в качестве ярлыка для создания тегов. Это можно сделать, введя любой разделитель токенов, указанный в списке, после имени тега. Любой символ может быть создан как разделитель токенов с помощью Select2.
Как упоминалось ранее, поскольку Chosen не имеет функции тегов, функция токенизации также недоступна.
<!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
>
Выход: