我正在尝试使用多个dropdown select
来决定具体的输入值
HTML
<div ng-repeat="i in [1,2,3]">
<select name="singleSelect" ng-model="chosenitem" style="width:100%;" ng-change="changedValue(i,$index)" >
<option value="" disabled selected>choose item</option>
<option ng-repeat="me in stuffs">{{me.item}}</option>
</select>
<input type="text" ng-model="inputattr[i]" placeholder="attribute">
</div>
控制器
app.controller('MainCtrl', function($scope) {
$scope.name = 'World';
$scope.stuffs = [
{item:'car', attribute:'wheels'},
{item:'plane', attribute:'wings'},
{item:'boat', attribute:'propeller'}
];
$scope.changedValue = function(i,j){
$scope.inputattr[i] = $scope.stuffs[j].attribute;
};
});
问题是inputattr
是动态的。我永远无法让它发挥作用。这是我的plunk。
答案 0 :(得分:0)
请参阅此plunkr:http://plnkr.co/edit/GVanAH70oyEEI16Nbf0t
你从未真正初始化inputattr
。您的索引也存在问题,通常应从0
开始。
答案 1 :(得分:0)
您的代码无效的原因是inputattr
未初始化。添加
$scope.inputattr = ['','',''];
在MainCtrl
内。这样就可以了。