Как получить атрибут из выбранного элемента данных в Webix combo?

#javascript #templates #combobox #webix

#javascript #шаблоны #combobox #webix

Вопрос:

У меня есть следующая комбинация Webix:

 {
  view: "combo", 
  label: 'Select the name',
  labelWidth:130,
  options: {
    data:[
      { itemId:"120", itemName:"Name 1"},
      { itemId:"121", itemName:"Name 2"}
    ],
    body: { template: '#itemName#' }        
  },
  on:{
    onChange:function(id){ alert(id) }
  }
}
 

Это выглядит так, как нужно, но как я могу получить itemId после выбора нового элемента? Я могу получить только автоматически сгенерированный идентификатор

Тот же код во фрагменте:

http://webix.com/snippet/3a431f1c

Заранее спасибо!

Ответ №1:

Вы должны получить объект combobox, а затем вы можете получить данные выбранного элемента с помощью его метода GetItem() как:

 var obj = this.getPopup().getBody().getItem(newValue);  //the object
var id = obj.itemId;  //the desired id which is itemId in your code
 

Пожалуйста, проверьте фрагмент здесь.

Комментарии:

1. Спасибо! (: После двойной проверки документации найдено также getList() вместо getPopup().getBody() , но оба работают одинаково.

2. Да, я забыл упомянуть об этом. Но у вас есть решение 🙂