更改ng-repeat生成的textareas值

时间:2016-05-12 09:15:13

标签: javascript angularjs textarea

我有一个下拉列表:

<select ng-model="dropdown" ng-options="key as value for (key,value) in getData()" ng-click="chooseStuff(0,dropdown)"></select>

下面我有一份textareas列表:

<div ng-repeat="(controlKey,controlValue) in controlsList">
      <div ng-repeat="(labelKey,labelValue) in controlValue"> 
    <textarea ng-model="text1" ng-init="text1 = getContent(controlKey,labelKey)"></textarea> 
    </div>
</div>

当我在textarea的ng-click上调用该函数时,这很有效。 我想做的是,每次textarea都会在每次下拉列表中的值更改时运行函数getContent(controlKey,labelKey)。我该如何处理这个问题?

谢谢!

this.chooseStuff= function (dropdownNo, code) {
                dropdownCurrentCode[dropdownNo] = code;
            }

controlList和controlValue只是控制器中的虚拟数据(硬编码的json)。

 var controlsList = {
                "control":
                    {
                        "label": {
                            "en-US": "US label Value",
                            "en-GB": "GB label value"
                        },
                        "positivelabel": {
                            "en-US": "US positive label Value",,
                            "en-GB": "GB positive label value"
                        }
                    },
                "anotherControl":
                    {
                        "label": {
                            "en-US": "us value",
                            "en-GB": "gb value"
                        }
                    }

            };

1 个答案:

答案 0 :(得分:0)

解决了它。解决方案是将模型绑定到函数并添加getterSetter ng-model选项。

<textarea ng-model="getContent(controlKey,labelKey)" ng-model-options="{ getterSetter: true }></textarea>