AngularJS我想在同一列中获取多个字段的值

时间:2016-03-03 13:06:22

标签: angularjs angularjs-directive angularjs-scope angularjs-ng-repeat ng-repeat

我是棱角分明的新人。

我创建了一个有三个选择框的行。添加字段添加具有三个选择框的相同行。我想获取Field1,Field 2&的值。所有行的Field3在同一对象中。

我使用ngRepeat生成行,每个选择框都是一个单独的select指令。

enter image description here

2 个答案:

答案 0 :(得分:0)

您可以轻松地将select的值绑定到对象的属性。尝试这样的事情:

$scope.submit = function(message,title){

var tempArr = [];
angular.forEach($scope.users, function(i,j){

if(i.select == true)
{
 tempArr.push( i.name );
  }
});

console.log(tempArr);

要将ng模型绑定到指令,请使用此

<select ng-model="myObject.firstValue">
    <option ng-repeat="option in firstList" value="{{option.name}}">
        {{option.name}}
    </option>
</select>

<select ng-model="myObject.secondValue">
    <option ng-repeat="option in secondList" value="{{option.name}}">
        {{option.name}}
    </option>
</select>

从这里开始:Passing ng-model in nested directives

答案 1 :(得分:0)

所以,这很简单。

您必须在每个字段的ng-model中使用[$ index]才能使其唯一,以便您的对象可以轻松绑定到所有字段。

<div ng-repeat="item in vm.object"> 

<select name="select1" 
ng-model="vm.selectedValue1[$index]"
ng-options="field1 as field1.title for field1 in vm.field1(item)">
   <option value="">Select Item</option>
</select>

<select name="select2" 
ng-model="vm.selectedValue2[$index]"
ng-options="field2 as field2.title for field2 in vm.field2(item)">
   <option value="">Select Item</option>
</select>

<select name="select3" 
ng-model="vm.selectedValue3[$index]"
ng-options="field3 as field3.title for field3 in vm.field3(item)">
   <option value="">Select Item</option>
</select>

</div>