代码之家  ›  专栏  ›  技术社区  ›  Junaid Farooq

无法使用AngularJs在数字“1”上创建属性“subjects”

  •  0
  • Junaid Farooq  · 技术社区  · 8 年前

    我想在一门课程中选择多个科目,但无法选择

    我有两个下拉列表,一个用于课程选择,一个用于科目选择。对于多个主题的选择,我使用 angular-chosen 插件,我只能在没有从下拉列表中选择课程的情况下选择多个科目。但当我从下拉列表中选择课程时,我甚至无法从下拉列表中选择一个科目

    下面是我的AddCourseController。js和相关HTML

    (function() {
    
      var myApp = angular.module("myApp");
    
      var AddCourseController = function($scope, CourseService, TeacherService) {
    
        var onCourses = function(courses) {
          $scope.courses = courses;
        }
        var onError = function(response) {
          $scope.error = true;
          $scope.errors = response.data;
        };
        CourseService.courses().then(onCourses, onError);
        TeacherService.getSubjects().then(function(data) {
          $scope.subjects = data
        });
      };
    
      myApp.controller("AddCourseController", AddCourseController);
    }());
    
    <div class="form-group">
      <label>Select Course</label>
      <select ng-model="course" class="form-control"
              ng-options="course.IdCourse as course.Name for course in courses track by course.IdCourse">
      </select>
    </div>
    <div class="form-group" ng-class="{ 'has-error' : 
       addCourseForm.subjects.$invalid && !addCourseForm.subjects.$pristine }">
      <label class="pull-left">Select Subjects</label>
      <a class="pull-right btn btn-primary btn-xs" data-toggle="modal" data- target="#add-subject">Add Subject</a>
      <select chosen multiple class="form-control" 
              ng-model="course.subjects"
              ng-options="subject.IdSubject as subject.Name for subject in subjects">
      </select>
      <p ng-show="addCourseForm.subjects.$invalid && 
      !addCourseForm.subjects.$pristine" class="help-block">Subject is required.
      </p>
    </div>
    
    1 回复  |  直到 8 年前
        1
  •  0
  •   georgeawg    8 年前

    更改课程选择器以返回整个 course 对象到 ng-model :

    <div class="form-group">
      <label>Select Course</label>
      <select ng-model="course" class="form-control"
              ng-options="course ̶.̶I̶d̶C̶o̶u̶r̶s̶e̶ as course.Name for course in courses track by course.IdCourse">
      </select>
    </div>