Контрол RichSelect - это нередактируемый Combo-box.
RichSelect содержит текстовое поле ввода и всплывающее окно, которое содержит стандартный список с опциями.
Еще один способ создать компонент со схожей функциональностью - это прикрепить suggest list к текстовому полю. Но текстовое поле в этом случае будет редактируемым.
// полная форма
{
view:"richselect",
id:"list2",
label:"richselect",
value:1,
yCount:"3",
options:[
{id:1, value:"One"}, // изначально выбранный элемент
{id:2, value:"Two"},
{id:3, value:"Three"}
]
}
// краткая форма массива опций
{view:"richselect", options:["One", "Two", "Three"]}
// опции на сервере
{ view:"richselect", options:"server/data.json"}
Related sample: Non-editable Combo Box ('richselect')
Контрол можно изменять и настраивать различными способами, например:
Вы также можете изменить конфигурацию по умолчанию для suggest list, подробнее в статье Продвинутые настройки Combo.
Richselect API позволяет получать объект выпадающего окна и списка внутри него для дальнейшей обработки. Пример ниже иллюстрирует оба варианта:
$$("richselect1").getPopup(), // получение suggest
$$("richselect1").getPopup().getBody(), // получение текущего тела suggest
$$("richselect1").getPopup().getList(), // получение объекта list
$$("richselect1").getList(), // получение объекта list, быстрый способ
Для пользователей Webix Pro библиотека позволяет расширить возможности контрола отображением DataView или DataTable во всплывающем окне:
Для полной формы инициализации метод getValue() вернет ID выбранной опции, но не её текст. Используйте getText(), чтобы получить текстовое значение.
$$("field_t").getValue(); // -> возвращает 1
$$("field_t").getText() // -> возвращает "One"