当我从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);
};
当我使用提醒时,它会显示我未定义的&#39;而不是显示价值 我该如何解决这个问题?
实际上这是可以的,当我没有使用所选择的搜索但是当我使用&#39;选择&#39;然后它没有工作....这是截图:
非常感谢。
答案 0 :(得分:2)
我认为您在点击按钮之前没有选择任何选项。当我选择选项时,这对我来说很好。
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>
答案 1 :(得分:0)
好吧,因为ng-model的对象是$ scope.something本身,试着
替换
alert(StudentId)
成为
alert($scope.StudentId)
我并不认为在这种情况下你需要参数。只是忽略它,因为$ scope覆盖了它
将会做
为了更好的可读性而编辑