我是angularjs的新手。我正面临一个问题。我有一个带一个单选按钮的桌子。当用户选择任何单选按钮并单击提交按钮时,我需要显示所选行的详细信息。
Html代码:
<table>
<thead>
<tr>
<th>Select</th>
<th>First Name</th>
<th>Last Name</th>
<th>Unique Reference ID</th>
<th>Country</th>
<th>Branch</th>
<th>Card No</th>
</tr>
</thead>
<tr ng-repeat="d in Employees">
<td><input type="radio"></td>
<td>{{d.fname}}</td>
<td>{{d.lname}}</td>
<td>{{d.uniqueid}}</td>
<td>{{d.country.name}}</td>
<td> {{d.branch.name}}</td>
<td>{{d.cardno}}</td>
</tr>
</table>
<table>
<tr>
<td><input type="button" value="Edit" ng-click="Edit()"></td>
</tr>
</table>
控制器代码:
$scope.Edit=function()
{
//need id of selected row ?
};
答案 0 :(得分:6)
这样的事情:
<input type="radio" ng-click="editData.employee = d">
控制器:
$scope.editData = {};
$scope.Edit = function() {
var id = $scope.editData.employee.id;
};
我刚回答了另一个问题,即它如何影响您的代码ng-repeat
为每个列表项创建一个新范围,这就是为什么您需要editData
对象才能工作的原因。它可以帮助您理解为什么需要它:Angular replace data from ng-repeat item
答案 1 :(得分:0)
您需要在收音机输入中使用ng-model
和ng-value
属性;见http://docs.angularjs.org/api/ng/input/input%5Bradio%5D。
您还希望使用至少一些理智的格式来格式化您的HTML。