【发布时间】:2017-09-19 13:29:26
【问题描述】:
我知道标题有点混乱,但我已尽力用一句话来描述它。我想在使用 CodeIgniter 构建的选择字段中使用角度 ng-change。这些选择是从数组中生成的。一切都很好,除了当我更改其中一个时,这些选择会自动为所有选择字段选择相同的值。
<?php $i=1; foreach ($data as $d) : ?>
Username: <input type="text" value="<?php echo $d->username ?>" /><br/>
Person:
<select ng-model="formData[<?php echo $i ?>].id" ng-change="updateUser()">
<option value="1">Nina</option>
<option value="2">Naila</option>
<option value="3">Noni</option>
</select><br/>
<?php $i++; endforeach; ?>
因此,例如,当我通过在第一个选择字段中选择 Nina 来更改选择时,所有选择字段都会自动选择选项 Nina。
更新: 在控制器中:
angular.module('myApp')
.controller('userCtrl', function($scope,$http){
$scope.formData = {};
$scope.updateUser = function(){
for (var i=1; i < $scope.formData.length; i++){
console.log($scope.formData[i]);
}
}
有了这个,当我在控制台中检查它时,我什么也没得到。
我尝试在选择时添加属性name=id[],但仍然没有运气。请帮忙。谢谢。
【问题讨论】:
-
那是因为你在所有选择上都使用相同的模型
ng-model="formData.id"。 -
所以,这就是问题所在。那么当我需要检索所选选项的值时,您能告诉我应该怎么做才能避免这种情况发生吗?
-
@Abaij 查看该答案,如果它回答了您的问题,请告诉我 :)
标签: javascript php angularjs codeigniter angular-ngmodel