Fed*_*zza 42 javascript angularjs ng-repeat
我想问你是否可以帮我解决这个问题.
我在这里创建了一个问题jsfiddle .我需要使用ng-model ="my _ {{$ index}}"的方式在ng-repeater中使用ng-model动态生成一些输入.
在jsfiddle中,你可以看到它运行正常,直到我尝试动态生成它.
HTML将是:
<div ng-app>
<div ng-controller="MainCtrl">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<select ng-model="selectedQuery"
ng-options="q.name for q in queryList" >
<option title="---Select Query---" value="">---Select Query---</option>
</select>
</td>
</tr>
<tr ng-repeat="param in parameters">
<td>{{param}}:</td>
<td><input type="text" ng-model="field_X" />field_{{$index}}</td>
</tr>
</table>
<div>
<div>
Run Code Online (Sandbox Code Playgroud)
和javascript ...
function MainCtrl($scope) {
$scope.queryList = [
{ name: 'Check Users', fields: [ "Name", "Id"] },
{ name: 'Audit Report', fields: [] },
{ name: 'Bounce Back Report', fields: [ "Date"] }
];
$scope.$watch('selectedQuery', function (newVal, oldVal) {
$scope.parameters = $scope.selectedQuery.fields;
});
}
Run Code Online (Sandbox Code Playgroud)
你能告诉我什么吗?
非常感谢.
Bet*_*aba 47
它能解决你的问题吗?
function MainCtrl($scope) {
$scope.queryList = [
{ name: 'Check Users', fields: [ "Name", "Id"] },
{ name: 'Audit Report', fields: [] },
{ name: 'Bounce Back Report', fields: [ "Date"] }
];
$scope.models = {};
$scope.$watch('selectedQuery', function (newVal, oldVal) {
if ($scope.selectedQuery) {
$scope.parameters = $scope.selectedQuery.fields;
}
});
}
Run Code Online (Sandbox Code Playgroud)
在你的控制器中:
<tr ng-repeat="param in parameters">
<td>{{param}}:</td>
<td><input type="text" ng-model="models[param] " />field_{{$index}}</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
pko*_*rce 24
你可以做的是在一个范围上创建一个对象(比如说values),并绑定到这个对象的属性,如下所示:
<input type="text" ng-model="values['field_' + $index]" />
Run Code Online (Sandbox Code Playgroud)
这是一个jsFiddle,说明了完整的解决方案:http://jsfiddle.net/KjsWL/
| 归档时间: |
|
| 查看次数: |
83352 次 |
| 最近记录: |