AngularJS - 如果expression为true,则禁用选择列表选项

时间:2017-11-16 12:19:02

标签: javascript angularjs select angularjs-directive

我尝试禁用materializeCSS选择列表选项是一个特定的表达式是正确的,但这似乎并没有使用下面的方法:

<option data-ng-disabled="employeeIsMale" value="maternity">Maternity</option>

我已经在加载时定义了这个表达式的真值,如下所示,这显然有效,因为正确的消息被记录到控制台:

$document.ready(function() {
    if ($scope.employee.gender === 'Male') {
        $scope.employeeIsMale == true;
        console.log("Employee is Male");
    } else {
        $scope.employeeIsMale == false;
        console.log("Employee is Female");
    }
})

如何使用这样的表达式来禁用选择选项?

完整HTML:

<select data-ng-change="showAbsenceInputs()" data-ng-model="absenceTypes" id="absenceTypeSelect" name="absenceTypeSelect" material-select watch class="validate" required>

  <option value="" selected>Select an option</option>

  <option data-ng-disabled="employeeIsMale" value="maternity">Maternity</option>

</select>

1 个答案:

答案 0 :(得分:2)

您应该使用赋值运算符=。您正在使用比较运算符进行赋值。

 $scope.employeeIsMale = true;