Контрол Combo - это текстовое поле ввода, по клику на которое вызывается всплывающее окно с опциями для выбора. Опции в текстовом поле редактируемы и фильтруются в соответствии с введенным значением.
Related sample: Editable Combo Box ('combo')
// краткая форма
{
view:"combo",
id:"field_m",
label:"Combo",
value:"One",
options:["One", "Two", "Three"]
}
// полная форма
{
view:"combo",
id:"field_t",
label:"Combo",
value:"1",
options:[
{id:1, value:"One"},
{id:2, value:"Two"},
{id:3, value:"Three"}
]
}
// серверные данные для опций
{ view:"combo", options:"server/data.json"}
Combo API позволяет получать объект выпадающего окна и списка внутри него для дальнейшей обработки:
var popup = combo.getPopup();
var list = popup.getBody();
// или
var list = popup.getList();
Контрол можно изменять и настраивать различными способами, например:
Вы также можете изменить конфигурацию списка опций по умолчанию, подробнее в статье Продвинутые настройки Combo и Richselect.
Для пользователей Webix Pro библиотека позволяет расширить возможности контрола отображением DataView или DataTable в всплывающем окне:
Для полной формы инициализации Combo метод getValue вернет ID выбранной опции, но не её текст. Используйте getInputNode, чтобы получить входящий объект и, следовательно, текстовое значение.
$$("field_t").getValue(); // -> возвращает 1
$$("field_t").getInputNode().value // -> возвращает "One"
Related sample: Working with UnitList Items