如果选中的选项值与条件匹配,如何使用angularjs禁用textarea?

时间:2016-07-28 05:09:25

标签: html angularjs

我是angularjs的新手。我想从下拉列表中选择一个选项时禁用textarea。

我尝试使用ng-disabled =“(此处为我的ng-model值)”

但这不起作用。

所以请帮帮我。 如果我想在我的JS控制器函数中创建一个函数,那么给我一个函数和语法来在我的html中调用它。

我将分享我的代码,给我一个更新会很有用。

<p style="text-align: justify; white-space: nowrap; position: relative; left: 30px">
<strong>{{'EMAIL_TYPE' | translate}}</strong> 
<select id="emailOption" style="height: 26px; width: 190px; font-size: 13px; padding-top: 3px" class="emailType" data-ng-model="typeE" onchange="changeTemplate()">
    <option value="" selected></option>
    <option value="Alert Dashboard">{{'ALERT_DASHBOARD' | translate}}</option>
    <option value="Survey Launch">{{'SURVEY_LAUNCH' | translate}}</option>
    <option value="CSW Launch">{{'SCW_LAUNCH_TREATMENT' | translate}}</option>
    <option value="Survey Close Treatment">{{'SURVEY_CLOSE_TREATMENT' | translate}}</option>
    <option value="CSW Close">{{'CSW_CLOSE' | translate}}</option>
</select>

这是我的下拉值(选项)。

我希望仅当选项值=“”(null)时才禁用我的文本区域。

我的textarea代码是。

<div class="large-9 medium-12 small-12 columns body1">
                            <strong style="position: absolute; left: 80px">{{'BODY_AT_BEGINNIG'
                                | translate}} </strong>

                            <textarea id="emailBody1" 
                                style="width: 70%; position: absolute; top: 15px; resize: none;"
                                rows="10" ></textarea>

为此提供解决方案,以便仅当我从下拉列表中选择的选项为空时才会禁用我的文本区域。

2 个答案:

答案 0 :(得分:0)

试试这个

在你在ng-change中调用的'changeTemplate'方法中,检查所选的选项值是否为null,如果它为null,则禁用你的textarea,如下所示

var e = document.getElementById('emailOption');
var option_value = e.options[e.selectedIndex].value;

if(option_value == null)
{
   document.getElementById("emailBody1").disabled = true;
}

答案 1 :(得分:0)

在您的HTML代码中更改此内容。它会做到的。你真的应该使用带有angularjs的玉。

<textarea id="emailBody1" , ng-disabled="typeE === '' ",
  style="width: 70%; position: absolute; top: 15px; resize: none;"
  rows="10" >
</textarea>

别忘了投票;)