angularjs ng-disabled不会向按钮添加禁用

Ray*_*zer 23 javascript angularjs

我有一个输入按钮,如果用户从选择框中选择某个值,我想将其设置为禁用:

选择菜单:

<select id="jobstatus" name="jobstatus"  ng-model="associate.JobStatus" class="form-control">
        <option value="0">Current</option>
        <option value="1">Former</option>
        <option value="2">Never worked there</option>
</select>
Run Code Online (Sandbox Code Playgroud)

输入按钮:

    <input type="submit" class="btn btn-info pull-right 
btn-lg btn-block" ng-disabled="{{associate.JobStatus === '2'}}" />
Run Code Online (Sandbox Code Playgroud)

现在,当我查看源时,当我选择选项时2,输入按钮元素从值更改ng-disabled="false"ng-disabled="true" 但禁用的属性不应用于按钮.

我在这做错了什么?

小智 46

用这个

<input type="submit" class="btn btn-info pull-right btn-lg btn-block" ng-disabled="associate.JobStatus == 2" />
Run Code Online (Sandbox Code Playgroud)


vin*_*eet 25

Angular Doc ngDisabled

大括号表示将表达式绑定到元素的符号{{}}是内置的Angular标记.

使用:

<input type="submit" ng-disabled="associate.JobStatus == 2" />
Run Code Online (Sandbox Code Playgroud)

代替:

<input type="submit" ng-disabled="{{associate.JobStatus == 2}}" />
Run Code Online (Sandbox Code Playgroud)

ng-show/ng-hide/ng-if相同,您可以使用模型表达式本身而不是{{}}

例如:-

使用:

<div ng-show="someObject.showProperty">
Run Code Online (Sandbox Code Playgroud)

代替:

<div ng-show="{{someObject.showProperty}}">
Run Code Online (Sandbox Code Playgroud)