繁体   English   中英

从服务器获取数据并在选择控件中使用ng-options无法显示选项

[英]Getting data from the server and using ng-options in select control is failing to show options

这是我的HTML

<div ng-app="timeTable" ng-controller="addCoursesCtrl">
            <button class="btn btn-primary" ng-click="addNewCourse()">Add New Course</button><br/><br/> 
            <fieldset ng-repeat="choice in choices">
                <div class="row">
                    <div class="col-md-6">
                        <select class="form-control" ng-model="choice.type" ng-options="s for s in coursetoAdd">
                            <option value="{{s.shortCut}}">{{s.name}}</option>
                        </select>
                    </div>
                    <div class="col-md-6">
                        <input type="text" placeholder="Enter Course Name" name="" class="form-control" ng-model="choice.course"/>
                    </div>
                </div>
                <br/>
            </fieldset>
            <button class="btn btn-primary" ng-click="convertAndSend()">Submit</button>
        </div>

这是js

var timeTable = angular.module("timeTable",[]);
timeTable.controller("addCoursesCtrl", function ($scope,$http) {
    $scope.choices = [{ course: '', type: '' }];
    $scope.coursetoAdd ;

    $http.get("/Semster/getSuggtedCourses").then(function (response) {
        $scope.coursetoAdd = response.data;
    });
    $scope.addNewCourse = function () {
        var newITemNo = $scope.choices.length + 1;
        $scope.choices.push({ course: '', type: '' });
    };
    $scope.convertAndSend = function () {
        var asJson = angular.toJson($scope.choices);
        console.log(asJson);
        $http.post('/Semster/Add', asJson);
    };

});

这段代码每次单击添加课程,并动态添加输入字段时,就绑定一个对象{“ course”:...,“ type”:....},我的问题是选择控件,我正在获取数据从服务器并与ng-optin一起使用,但所有显示的内容只是选择选项中的[object Object]而不是实际值。

假设从getSuggestedCourses返回的数据是一个对象数组,则ng-options选择器:

s for s in courseToAdd

将s绑定到数组中的每个对象。 您需要像这样绑定到对象中的字段

s.value as s.name for s in courseToAdd

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM