Как получить все элементы списка из KendoComboBox

Я пытаюсь получить все элементы списка из KendoComboBox.

Список был построен с использованием пользовательской директивы angularjs:

  1. HTML

    <input id="comboBox" />
    
  2. директива sgComboBoxField:

    'use strict';
     angular.module('sgComponents').directive('sgComboBoxField', ['sgComboBoxService',
        function(sgComboBoxService) {
    
           return { 
              link: function (scope, element, attrs, ctrls) {
                 var dropdownlist = element.find('#comboBox');
                 dropdownlist.kendoComboBox({
                    //various options needed to set up the combox (like datasource) obtained from service
                 )};
                 // tried a breakpoint here in chrome but the items are not visible!
              }
           }
     }]);
    

Мой вопрос: как получить все элементы списка из поля со списком после его загрузки в DOM?


person Tone    schedule 03.07.2014    source источник


Ответы (1)


Решение состоит в том, чтобы использовать $timeout, чтобы дать DOM время для загрузки, преобразовать объект выпадающего списка в объект кендо (используя data('kendoComboBox') ), а затем вызвать для него функции jquery, чтобы получить дочерние элементы списка:

$timeout(function() {                    
   var listItems = dropdownlist.data('kendoComboBox').ul.children();
   listItems.each(function(index) {
      console.log($(this));
   });                   
});
person Tone    schedule 04.07.2014