在 Angular js 中单击提交后如何获取在单选按钮中选择的值列表
How to get list of values which are selected in radio button after click on submit in Angular js
这里是 HTML,这个文件是局部的,其中全局控制器定义在 home page:message 对象包含从第一页加载的数据。
<ng-repeat data in message>
<input type="radio" ng-model="accountValue" value="{{data}}" name="select" />
{{data.Type}}
{{data.Number}}
继续
JS:
myApp.controller('myCtrl',['$scope',function ($scope) {
$scope.selectAccount = function(id) {
alert(id);
}
}]);
我得到的 id 为 undefined 。请帮忙。谢谢
因此,根据评论,您真正需要的是在单击继续按钮时在两个控制器(即 Global 和 myCtrl )之间共享数据。您可以通过多种方式执行相同的操作。
构建维护您的共享对象的服务,控制器仅处理 reference.Please 注意在这种情况下它将一直工作,直到您不会根据理想情况手动刷新页面。如果你的数据不是更重,并且你需要在所有页面上维护它,那么在这种情况下你可以将它存储在本地存储中。
Here is the demo http://plnkr.co/edit/rrFTmtnYjYNjyE8twUif
您可以使用 service & $scope.$watch 方法做同样的事情。我希望您不要将 $watch 用于 this.Instead 分配和观看整个服务,您应该只需要使用 setter/getter 来访问和共享数据。
Here is the demo http://plnkr.co/edit/N2qIMRyDj2SX2BdBleU4
是的,您还可以使用 ng-model 使用作用域的 $parent 属性。当然有几种方法可以做同样的事情:假设你的 HTML 如下所示
<div ng-controller="ParentCtrl">
<div ng-controller="ChildCtrl"></div>
</div>
然后你可以像这样访问你的父作用域
function ParentCtrl($scope) {
$scope.cities = ["NY", "Amsterdam", "Barcelona"];
}
function ChildCtrl($scope) {
$scope.parentcities = $scope.$parent.cities;
}
实际上,由于您在父控制器中定义了城市,您的子控制器将继承所有范围变量。所以理论上你不必调用 $parent。上面的例子也可以这样写:
function ParentCtrl($scope) {
$scope.cities = ["NY","Amsterdam","Barcelona"];
}
function ChildCtrl($scope) {
$scope.parentCities = $scope.cities;
}
Angular Docs 正在使用这种方法。
这里是 HTML,这个文件是局部的,其中全局控制器定义在 home page:message 对象包含从第一页加载的数据。
<ng-repeat data in message>
<input type="radio" ng-model="accountValue" value="{{data}}" name="select" />
{{data.Type}}
{{data.Number}}
继续
JS:
myApp.controller('myCtrl',['$scope',function ($scope) {
$scope.selectAccount = function(id) {
alert(id);
}
}]);
我得到的 id 为 undefined 。请帮忙。谢谢
因此,根据评论,您真正需要的是在单击继续按钮时在两个控制器(即 Global 和 myCtrl )之间共享数据。您可以通过多种方式执行相同的操作。
构建维护您的共享对象的服务,控制器仅处理 reference.Please 注意在这种情况下它将一直工作,直到您不会根据理想情况手动刷新页面。如果你的数据不是更重,并且你需要在所有页面上维护它,那么在这种情况下你可以将它存储在本地存储中。
Here is the demo http://plnkr.co/edit/rrFTmtnYjYNjyE8twUif
您可以使用 service & $scope.$watch 方法做同样的事情。我希望您不要将 $watch 用于 this.Instead 分配和观看整个服务,您应该只需要使用 setter/getter 来访问和共享数据。
Here is the demo http://plnkr.co/edit/N2qIMRyDj2SX2BdBleU4
是的,您还可以使用 ng-model 使用作用域的 $parent 属性。当然有几种方法可以做同样的事情:假设你的 HTML 如下所示
<div ng-controller="ParentCtrl">
<div ng-controller="ChildCtrl"></div>
</div>
然后你可以像这样访问你的父作用域
function ParentCtrl($scope) {
$scope.cities = ["NY", "Amsterdam", "Barcelona"];
}
function ChildCtrl($scope) {
$scope.parentcities = $scope.$parent.cities;
}
实际上,由于您在父控制器中定义了城市,您的子控制器将继承所有范围变量。所以理论上你不必调用 $parent。上面的例子也可以这样写:
function ParentCtrl($scope) {
$scope.cities = ["NY","Amsterdam","Barcelona"];
}
function ChildCtrl($scope) {
$scope.parentCities = $scope.cities;
}
Angular Docs 正在使用这种方法。