AngularJS下拉列表在选择项目后丢失内容

时间:2013-11-22 00:37:34

标签: c# javascript http angularjs asp.net-web-api

我有一个ASP.Net WebAPI项目,我从VS运行,以JSON的形式向我的Angular项目提供数据。我通过$ http.get调用从webapi获取数据,如下所示:

function CarController($scope, $http) {
    $http.get('http://localhost:1246/api/values')
         .success(function (data, status, headers, config) {
             $scope.carSet = data;
         })
         .error(function (data, status, headers, config) {
             $scope.error = status;
             alert("You be broken buddy!");
         });
}

然后carSet被绑定在html中,如下所示:

<!DOCTYPE html>
<html data-ng-app="">
<head>
    <title></title>
    <script src="scripts/controllers/controller.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular.min.js"></script>
</head>
<body>
    <div data-ng-controller="CarController">
        <select data-ng-model="carSet" onchange="DataChanged()" data-ng-options="c.Color for c in carSet"></select>
    </div>
</body>
</html>

一切都很好。我得到了我的清单。第一个条目是空白的,现在可以了。

问题:
当我选择下拉列表中的任何项目时,整个列表将被清除,并且没有更多项目可供选择? Whaaaaat!在这一点上,我显然很沮丧。仅当我使用$ http机制从WebApi检索数据时才会发生此行为。如果我使用$ http.get从文件或其他本地创建的数据存储中检索json数据,则不会发生这种情况。我只需要一个简单的下拉列表,它允许我使用它的选定值来过滤其他数据(另一个数据库调用。)

我会告诉你照片..但这是我的第一篇文章..而且......我不能。

非常感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:3)

data-ng-model="carSet"更改为不同的内容,例如data-ng-model="carChosenColor"它会正常工作。

然后在$scope.carChosenColor中将存储所选的值。