AngularJS(-material)ng-disabled布尔值麻烦

时间:2015-09-22 09:44:32

标签: javascript angularjs angular-material

我有一个问题,

我有<md-datepicker>,您可以在其中选择日期。

我有一个使用

的选择列表

<md-checkbox ng-disabled="!formName.something.stop || !formName.something.start" ng-init="formName.something.action=false"> Action <md-checkbox>

当您选择日期时<md-checkbox>可用。所以我可以选择它。现在问题来了!

(在我的页面上)

我选择日期,选择<md-checkbox>,然后删除<md-datepicker>上的日期。然后按“发送”按钮,布尔值仍然成真。

Object {start: undefined, stop: undefined, action: true, item: false, broadcast: false…}

<md-checkbox>被禁用时,有人知道某种方式无论选择是或否,我都会得到错误的回复。使用角度(-material)中的东西。或者只是使用java脚本的最佳方式?

如果不明确我的意思,请问:)

感谢您已经阅读过这篇文章!

1 个答案:

答案 0 :(得分:0)

您已经有逻辑来确定何时启用/禁用复选框,那么为什么不在发送表单时重复使用该逻辑。

例如,在您的控制器中,您可以使用以下内容:

$scope.checkBoxDisabled = checkboxIsDisabled();

function checkboxIsDisabled () {
    return !formName.something.stop || !formName.something.start;
}

//Then, on form submit, just check again:
var formSubmitCheckDisabled = checkboxIsDisabled():

在您看来,只需引用您创建的变量:

<md-checkbox ng-disabled="checkBoxDisabled" ng-init="formName.something.action=false"> Action <md-checkbox>