我想实现一个场景,当我点击TV1 radiobutton我想让它的所有孩子都在对象中,即ProductName TV1,Number Of Channels 1。以下是我的代码
加价:
<div ng-repeat="product in ProductTypes">
<div ng-show="product.selected" ng-repeat="Product in product.ProductList">
<label>
<input type="radio" name="internetProduct{{$parent.$index}}"
ng-model="Product" ng-value="{{Product}}" ng-click="GetValue()" />
{{Product.ProductName}}
</label>
<table>
<tr ng-repeat="(key, val) in Product">
<td>{{key}}</td>
<td>{{val}}</td>
</tr>
</table>
</div>
</div>
控制器(js):
var app = angular.module('ProductCatalog.controllers', ['ui.bootstrap'])
.controller('OfferCtrlr', function ($scope, $http, $modal) {
$scope.GetValue = function() {
var a = $scope.radio;
}
})
现在,$ scope.radio中没有任何内容。请帮助。
答案 0 :(得分:3)
您可以将产品实例作为参数传递给ng-click函数调用。因此,无论何时单击单选按钮,相应的产品实例都将在您的功能中可用。下面的代码将为您提供单选按钮的实例。对复选框执行相同的操作,在检查时调用函数并传递相应的实例。(您没有为复选框提供标记)
<强> HTML 强>:
<div ng-repeat="product in ProductTypes">
<div ng-show="product.selected" ng-repeat="Product in product.ProductList">
<label>
<input type="radio" name="internetProduct{{$parent.$index}}"
ng-model="checked" ng-value="Product" ng-click="GetValue(Product)" />
{{Product.ProductName}}
</label>
<table>
<tr ng-repeat="(key, val) in Product">
<td>{{key}}</td>
<td>{{val}}</td>
</tr>
</table>
</div>
</div>
<强> JS 强>:
var app = angular.module('ProductCatalog.controllers', ['ui.bootstrap'])
.controller('OfferCtrlr', function ($scope, $http, $modal) {
$scope.GetValue = function(product) {
console.log(product);
}
})
答案 1 :(得分:0)
好吧,加载所有父对象和子对象然后通过AngularJS显示/隐藏,通过它你将实现你的场景。