设置由ng-if隐藏的文本框的值

时间:2015-03-30 18:58:57

标签: javascript jquery angularjs angular-ng-if

有没有办法设置ng-if隐藏的文本框的值?

我有一个textarea,我想在页面加载时预先填充:

<textarea id="envConfigJson" rows="5" class="form-control"
                          placeholder="Configuration json" ng-keyup="editConfigEnv()"
                          ng-disabled='!selectedConfigurationEnv'></textarea>

在预先填充时,textarea的父母通过ng-if隐藏。有没有办法设置这个textarea的值,即使它是从页面隐藏的?我能够通过jquery确认正确的值被分配给val属性:

$('#envConfigJson').val("correct value here"); 

如果无法做到这一点,我很乐意重新考虑我的人口逻辑。

2 个答案:

答案 0 :(得分:2)

您需要做的就是设置范围模型值并在textarea上使用ngModel指令。所以它将是:

<textarea id="envConfigJson" rows="5" class="form-control"
          placeholder="Configuration json" 
          ng-model="textModel"
          ng-keyup="editConfigEnv()"
          ng-disabled='!selectedConfigurationEnv'></textarea>

现在,当父ngIf显示textarea时,您会看到它预先填充了textModel模型提供的值。

演示: http://plnkr.co/edit/4D4O6b9BQSDMXEBKFAX3?p=preview

答案 1 :(得分:1)

在我的特殊情况下,我需要将ng-if替换为ng-show

这允许我的内容在屏幕上呈现但隐藏。 ng-if阻止了内容完全呈现。