Angularjs 需要将Angular UI网格中的引导下拉列表的值分配给Row.Entity
我需要在我的ui网格cellTemplate中使用一个引导下拉菜单,并捕获选择,以便在按钮上显示他们的选择。问题是,因为我不能在Angularjs 需要将Angular UI网格中的引导下拉列表的值分配给Row.Entity,angularjs,twitter-bootstrap,angular-ui-grid,Angularjs,Twitter Bootstrap,Angular Ui Grid,我需要在我的ui网格cellTemplate中使用一个引导下拉菜单,并捕获选择,以便在按钮上显示他们的选择。问题是,因为我不能在上使用ng模型,所以当我捕获选择时,网格中的所有下拉列表都会用选择文本更新 下面是一个演示我的问题的例子 这是我的控制器代码: $scope.actions = [ { id: 'action1', name: 'Action 1' }, { id: 'action2', name: 'Action 2' } ]; $scope.sel
上使用ng模型
,所以当我捕获选择时,网格中的所有下拉列表都会用选择文本更新
下面是一个演示我的问题的例子
这是我的控制器代码:
$scope.actions = [
{ id: 'action1', name: 'Action 1' },
{ id: 'action2', name: 'Action 2' }
];
$scope.selectedAction = { id: 'action0', name: 'SelectOne' };
$scope.setAction = function (action) {
$scope.selectedAction = action;
$scope.submitAction();
};
$scope.submitAction = function () {
console.log($scope.selectedAction.id);
};
$scope.gridOptions = { rowHeight: 38 };
$scope.gridOptions.columnDefs = [
{ name: 'id', enableCellEdit: false },
{ name: 'name', displayName: 'Name (editable)' },
{ name: 'age', displayName: 'Age' , type: 'number' },
{
field: 'Action', displayName: 'Action',
cellClass: 'center',
cellTemplate: 'myDropDown.html',
enableSorting: false
}
];
$http.get('https://cdn.rawgit.com/angular-ui/ui-grid.info/gh-pages/data/500_complex.json')
.success(function(data) {
$scope.gridOptions.data = data;
});
这是我的HTML:
<div class="ui-grid-cell-contents">
<div class="btn-group" dropdown dropdown-append-to-body>
<button type="button" class="btn btn-xs btn-primary dropdown-toggle" dropdown-toggle ng-click="grid.appScoe.submitAction()">
{{grid.appScope.selectedAction.name}}<span class="caret"></span>
</button>
<ul class="dropdown-menu" style="width:230px"><li ng-repeat="action in grid.appScope.actions"><span ng-click="grid.appScope.setAction(action)">{{action.name}}</span></li></ul>
</div>
</div>
{{grid.appScope.selectedAction.name}
- {{action.name}
非常感谢您的帮助 我用叉子叉了你的东西
当需要将选择绑定到每个网格行的模型时,您将选择绑定到单个范围变量。您的模型需要一个名为Action的列来对应网格配置。为了便于示例,我只添加了一列:
$http.get('https://cdn.rawgit.com/angular-ui/ui-grid.info/gh-pages/data/500_complex.json')
.success(function(data) {
data.map(function(element) {
element.Action = $scope.selectedAction;
});
$scope.gridOptions.data = data;
});
我修改了setAction()以传入行和所选操作:
$scope.setAction = function(row, action) {
row.entity.Action = action;
$scope.submitAction();
};
并将单元格模板更改为与控制器更改一起使用:
<div class="ui-grid-cell-contents">
<div class="btn-group" dropdown dropdown-append-to-body>
<button type="button" class="btn btn-xs btn-primary dropdown-toggle" dropdown-toggle ng-click="grid.appScoe.submitAction()">
{{row.entity.Action.name}}<span class="caret"></span>
</button>
<ul class="dropdown-menu" style="width:230px"><li ng-repeat="action in grid.appScope.actions"><span ng-click="grid.appScope.setAction(row, action)">{{action.name}}</span></li></ul>
</div>
</div>
{{row.entity.Action.name}
- {{action.name}
我用叉子叉了你的东西
当需要将选择绑定到每个网格行的模型时,您将选择绑定到单个范围变量。您的模型需要一个名为Action的列来对应网格配置。为了便于示例,我只添加了一列:
$http.get('https://cdn.rawgit.com/angular-ui/ui-grid.info/gh-pages/data/500_complex.json')
.success(function(data) {
data.map(function(element) {
element.Action = $scope.selectedAction;
});
$scope.gridOptions.data = data;
});
我修改了setAction()以传入行和所选操作:
$scope.setAction = function(row, action) {
row.entity.Action = action;
$scope.submitAction();
};
并将单元格模板更改为与控制器更改一起使用:
<div class="ui-grid-cell-contents">
<div class="btn-group" dropdown dropdown-append-to-body>
<button type="button" class="btn btn-xs btn-primary dropdown-toggle" dropdown-toggle ng-click="grid.appScoe.submitAction()">
{{row.entity.Action.name}}<span class="caret"></span>
</button>
<ul class="dropdown-menu" style="width:230px"><li ng-repeat="action in grid.appScope.actions"><span ng-click="grid.appScope.setAction(row, action)">{{action.name}}</span></li></ul>
</div>
</div>
{{row.entity.Action.name}
- {{action.name}
当需要将选择绑定到每个网格行的模型时,您将选择绑定到单个范围变量。您的模型需要一个名为Action的列来与网格配置相对应。我知道,但正如我的问题所述,由于我无法将模型置于