Angular - 选择和ngOptions - 定义添加到模型的值的键

时间:2014-10-16 16:08:03

标签: angularjs html-select angular-ngmodel ng-options

我有以下内容:

<select class="input-lg form-control" ng-model="selections[$index]" name="potsel" ng-options="selection.sel._id as selection.sel.name for selection in pot.selections" required ng-disabled="clicked">

我创建了4个下拉菜单,这会返回给我一个$ scope,如下所示(提交时):

$scope.selections = ["id1", "id2", "id3", "id4"]

理想情况下,我希望它看起来像这样:

$scope.selections = [{"dropdown1":"id1"},{"dropdown2":"id2"},{"dropdown3":"id3"},{"dropdown4":"id4"}]

请注意&#34;下拉#&#34;可以使用&#34; pot._id&#34;。

在html中检索

有一段时间看着这个,我无法在ngOptions中看到任何地方来定义它。有什么帮助吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

虽然您可以直接在html中执行此操作,但您肯定可以在js中执行此操作

      ng-change="selectionObj[$index] = {} ; selectionObj[$index][pot._id] = selections[$index]"

或者你可以创建一个函数,它将在上面执行          ng-change = addObject($ index,pot._id,selections [$ index])

     $scope.addObject = function(index, key, value) {
         $scope.selectionObj[$index] = { key : value   };   
     }

修改

抱歉,将$ index替换为索引。

         var obj = {}; 
         obj[key] = value; 
         $scope.selectionObj[index] = obj;
         console.log(key, value);