AngularJS - 选择的 ng-model 工作不正常

Posted

技术标签:

【中文标题】AngularJS - 选择的 ng-model 工作不正常【英文标题】:AngularJS - Chosen ng-model is not working properly 【发布时间】:2018-04-20 20:02:57 【问题描述】:

当我从 AngularJS 选择的 localytics 下拉列表中选择一个选项时,我试图获得价值。 这是下拉菜单的代码:

<select chosen style="width: 250px"
        ng-model="StudentId"
        ng-options="allStudent.StudentId as allStudent.Name for allStudent in allStudent">
        <option value="">Select</option>
</select>
<h2>Chosen with static options:  StudentId </h2>
<input type="button" value="Search" ng-click="GetStdCourseList(StudentId)">

在我的控制器中,我有以下功能:

    $scope.GetStdCourseList = function (StudentId) 
        alert(StudentId);
    ;

当我使用警报时,它会显示“未定义”而不是显示值 我该如何解决这个问题?

实际上这没问题,当我不使用选择的搜索时我会得到价值,但是当我使用“选择”时它就不起作用了....这是屏幕截图:

非常感谢。

【问题讨论】:

由于您的模型是 StudentId,您可以忽略函数中的参数并简单地使用 $scope.StudentId chosen 属性是关于什么的? 【参考方案1】:

我认为您在单击按钮之前没有选择任何选项。当我选择该选项时,这对我来说很好。

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) 
    $scope.allStudent = [StudentId: 0, Name: 'name1', StudentId: 1, Name: 'name2'];
     $scope.GetStdCourseList = function (StudentId) 
        alert(StudentId);
    ;
);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
  <select chosen style="width: 250px"
          ng-model="StudentId"
          ng-options="allStudent.StudentId as allStudent.Name for allStudent in allStudent">
          <option value="">Select</option>
  </select>

  <h2>Chosen with static options:  StudentId </h2>
  <input type="button" value="Search" ng-click="GetStdCourseList(StudentId)">
</div>

【讨论】:

谢谢 Nitheesh。但我认为您的代码中使用的“选择”不起作用。请检查我的帖子的屏幕截图.. @SubhoGhose 这个选择的属性有什么用?【参考方案2】:

好吧,既然 ng-model 的对象是 $scope.something 本身,请尝试

替换

alert(StudentId)

成为

alert($scope.StudentId)

我认为在这种情况下您不需要参数。忽略它,因为 $scope 为你覆盖了它

这样就可以了

经过编辑以提高可读性

【讨论】:

以上是关于AngularJS - 选择的 ng-model 工作不正常的主要内容,如果未能解决你的问题,请参考以下文章

AngularJS 将 datatimepicker 选择的值绑定到 ng-model

没有 ng-model AngularJS 选择不起作用

如何在angularjs中的选择框或内部选项中使用ng-model?

AngularJs - SELECT 中的 ng-model

使用 ng-model 时 AngularJS $scope 不更新(ng-change 触发?)

ng-model 不适用于 AngularJS 中的单选按钮