使用 AngularJS 填充下拉列表

明井

我想用我创建的名为 Venues 的表中的值填充下拉列表。这张表中只有两件事,Venue Id 和 Name。

我从包含表 Venues 的数据库创建了一个 Code First 实体数据模型,并在我的控制器中创建了这个方法:

public JsonResult GetVenues()
    {
        using (ReservationsModel dc = new ReservationsModel())
        {
            var v = dc.Venues.OrderBy(a => a.Name).ToList();
            return new JsonResult { Data = v, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
        }

然后在我的脚本中我添加了:

$scope.selectedVenue = null;
$scope.venues = [];
$http.get("/home/getvenues").success(function (data) {
    angular.forEach(data, function (item) {
        venues.push(item.Name);
    });
    $scope.list = venues;
}).error(function (status) {
    alert(status);
});

$scope.selectedVenue = $scope.venues[i].Name;

在我看来,我有:

<select ng-model="selectedVenue" ng-options="item in venues">
    <option value="">-- Select Venue --</option>
</select>

我来自这些指南:

http://www.dotnetawesome.com/2016/04/implement-event-scheduler-calendar-angularjs.html

如何使用 AngularJS 从 JSON 提要填充选择下拉列表?

https://jsfiddle.net/pravinmagar/Ljgk8oy0/

韦努哥帕尔

让我们看看你的代码。(检查评论)

$scope.selectedVenue = null;
$scope.venues = [];
$http.get("/home/getvenues").success(function (data) {
    angular.forEach(data, function (item) {
        // this should be $scope.venues, not just venues
        venues.push(item.Name);
    });
    // you don't need another scope variable
    $scope.list = venues;
}).error(function (status) {
    alert(status);
});
// as $scope.venues is an array of Names, $scope.selectedVenue = $scope.venues[i] is enough
$scope.selectedVenue = $scope.venues[i].Name;

所以,

$scope.venues = [];
$http.get("/home/getvenues").success(function (data) {
  angular.forEach(data, function (item) {
    $scope.venues.push(item.Name);
  });
}).error(function (status) {
  alert(status);
});
// if i has declared a value somewhere in your code, then
$scope.selectedVenue = $scope.venues[i];

在模板中,

<select ng-model="selectedVenue">
  <option value="">Select Venue</option>
  <option ng-repeat="venue in venues" ng-value="venue">{{venue}}</option>
</select> 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章