Angular UI Typeahead不显示下拉列表

时间:2014-05-24 12:43:29

标签: javascript angularjs angular-ui angular-ui-bootstrap

我的下拉列表没有显示,即使我知道它得到了正确的结果。代码:

<input type="text" ng-model="newSelectedSemester" placeholder="Semester name" typeahead="semester.name for semester in getSemesters($viewValue)">

我可以确认getSemesters正在返回一个对象数组,每个对象都有一个name属性。

我已经在我的网站上的其他地方实现了这个,所以我知道我正在引入正确的依赖关系。我在这里缺少什么?

2 个答案:

答案 0 :(得分:2)

发现问题。

我正在使用$ http.get,我正在从&#34;成功&#34;功能,当我应该从&#34;然后&#34;功能。我不知道为什么会这样,但它有效:)

答案 1 :(得分:2)

这是我遇到的另一个解决方案,为我解决了这个问题:

$scope.solution = function(val){
    var data = {
        cards: val
    };
    var result = [];
    var deferred =  $q.defer();

    $http.post('/somepath', data)
        .success(function(response) {
            angular.forEach(response, function(card) {
                result.push(card);
            });
            return deferred.resolve(result);
        })
        .error(function(){
            /* error handling */
        });
    return deferred.promise;
};

以下是HTML部分的示例:

<input ... uib-typeahead="card as card.number + ' ' + card.suit for card in cardList($viewValue)" />