有关angularjs的基本问题。我有两个模型:预订和桌子。我显示了一个预订列表,然后当用户选择该表进行预订时,我想更新表模型以包含预订。
<tr ng-repeat="reservation in reservations">
<td><select ng-model="selectedTable" ng-options="table.name for table in tables">
</td>
基本上我需要的是,无论何时选择一个表,我都需要在控制器上的方法中访问预留和表。
指向链接到控制器方法的指令是正确的方法吗?我不知道如何传递变量。
由于
编辑:
<tr ng-repeat="reservation in reservations">
<td><select ng-model="reservation.selectedTable" ng-options="table.name for table in tables">
</td>
我试过这样做。但由于table是一个对象而不是一个属性,子范围仍然创建属性而不是对父属性的引用。我也尝试添加“as table.name”但它没有用。
<tr ng-repeat="reservation in reservations">
<td><select ng-model="reservation.selectedTable" ng-options="table.name as table.name for table in tables">
</td>
答案 0 :(得分:2)
看着你的HTML,我可以建议你在ng-change
下拉菜单上使用select
。
<select ng-model="selectedTable" ng-options="table.name for table in tables" ng-change="tableSelected(reservation,selectedTable)">
在控制器上,您可以使用
之类的方法$scope.tableSelected=function((reservation,selectedTable) {
}
请记住ng-repeat
创建新范围。此外,每个ng-repeat范围都会设置selectedTable
。