2017-01-06 11 views
0

後、私はコンボボックスで使用可能なオプションにレンダリングするには、次の機能を持っているnullである:(なしitems付き)最初の呼び出しのために親ノードが最初に追加操作

var optionsListElement = element.find('div.combobox-list'), 
itemsElement = optionsListElement.find('ul.items-list'); 

function renderOptions(items) { 
    var parentElement = itemsElement.parent(); 

    if (!items || items.length == 0) { 
     itemsElement = itemsElement.append($(
      '<li class="no-bullet">No Option Available</li>')); 
    } else { 
     if (!scope.hasColumns) { 
      items.forEach(function (item, i) { 
       innerScope = createInnerScope({ 
        item: item, 
        $first: i == 0, 
        $index: i, 
        $even: i % 2 == 0, 
        $odd: i % 2 != 0, 
        $last: i == item.length - 1 
       }); 

       transclude(innerScope, function (rowTemplate, transcludeScope) { 
        // If there is not transclude rowTemplate, use default 
        if (rowTemplate.length == 0 || rowTemplate.length == 1 && rowTemplate[0].nodeType == 3 && rowTemplate[0]) { 
         rowTemplate = angular.element(
          '<span title="{{ getText(item) }}" \ 
                 >{{ getText(item) }}\ 
                </span>'); 
        } 

        itemsElement.append(
         $compile(angular.element(
          '<li ng-click="focusAndSelectOption(item)"\ 
                 ng-class-even="\'even\'" ng-class-odd="\'odd\'"\ 
                 ng-class="{ selected: isSelected(item), focused: isFocused($index) }">\ 
                </li>').append(rowTemplate))(transcludeScope) 
        ); 
       }); 
      }); 
     } 
    } 

    parentElement.append(itemsElement); 
} 

を、機能が期待どおりに動作し、結合しliNo Option AvailableからitemsElementまでです。 parentElementは、正しいターゲットdivを付加しているようです。しかしその後の呼び出しでは、parent()nullを返し、parentElementはオプションを追加できません。この機能を消費

div構造は、次のようなものです:

<div class="combobox-list" style="visibility:hidden" > 
    <ul class="items-list" ></ul> 
</div> 

私はちょうどulliアイテムをバインドしようとしていて、そこulにバインドされたいくつかの属性ディレクティブがあるので、私がする必要がありますそれをコードから守ってください。誰かがこの問題で私を助けることができますか?

+0

問題は、すべての 'ul'要素をクリーンアップしていた別の機能でした。だからこれは無関係になる –

答えて

0

問題は、すべてのul要素をクリーンアップする別の機能でした。したがって、これは無関係になります

関連する問題