gpt4 book ai didi

angularjs - ng-disabled 不适用于单选按钮和复选框

转载 作者:行者123 更新时间:2023-12-03 08:05:26 25 4
gpt4 key购买 nike

我正在开发 AngularJS 应用程序。我正在尝试创建一个页面,允许用户选择三个单选按钮之一。三个中的两个在其下方也有复选框,以允许用户在选择了适当的单选按钮后选择其他选项。为了防止不正确的复选框选择,我试图在复选框上设置 ng-disabled 属性。到目前为止,它不起作用,我已经尝试了几次不同的迭代。

这是我的 HTML:

    <div class="panel-body">
<input type="radio" id="notFraudulent" name="actionSelector" ng-model="cleared" /><label for="notFraudulentRadio"> Not Fraudulent</label><br />
<input type="checkbox" id="highVolumeCustomer" ng-model="highVolumeCustomer" ng-disabled="(fraudulent||cleared)" /><label for="highVolumeCustomer"> High Volume Customer</label><br />
<br/>
<input type="radio" id="appearsFraudulent" name="actionSelector" ng-model="fraudulent" /><label for="isFraudulentRadio"> Appears Fraudulent</label><br />
<input type="checkbox" id="reportAccount" ng-model="reportAccount" ng-disabled="(cleared||reviewed)" /><label for="reportAccount"> Report Account</label><br />
<br/>
<input type="radio" id="markReviewed" name="actionSelector" ng-model="reviewed" /><label for="markReviewed"> Mark As Reviewed For Later</label>
</div>

我曾尝试将 ng-disabled 表达式的运算符更改为 &&,因为我看到一些文章建议运算符并不代表人们认为的意思。但这是行不通的,如果我只在表达式中放置一个条件,它也行不通。 Controller 中(目前)还没有任何东西尝试使用或操作 HTML 中的任何 ng-models。我得出的结论是,我在单选按钮方面遗漏了一些东西,但我终究无法弄清楚是什么。

谁能看出我的错误是什么?

最佳答案

应该使用value属性为单选按钮绑定(bind)特殊的值,当单选按钮的状态改变时,该值将保持在ng-model

引用下面的代码片段:

angular.module("app", [])
.controller("myCtrl", function($scope) {
$scope.selectedValue = 'cleared';
$scope.cleared = false;
$scope.fraudulent = false;
$scope.reviewed = false;
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div class="panel-body" ng-app='app' ng-controller="myCtrl">
<input type="radio" id="notFraudulentRadio" name="actionSelector" value="cleared" ng-model="selectedValue" /><label for="notFraudulentRadio"> Not Fraudulent</label><br />
<input type="checkbox" id="highVolumeCustomer" ng-model="highVolumeCustomer" ng-disabled="selectedValue === 'fraudulent' || selectedValue === 'cleared'" /><label for="highVolumeCustomer"> High Volume Customer</label><br />
<br/>
<input type="radio" id="isFraudulentRadio" name="actionSelector" value="fraudulent" ng-model="selectedValue"/><label for="isFraudulentRadio"> Appears Fraudulent</label><br />
<input type="checkbox" id="reportAccount" ng-model="reportAccount" ng-disabled="selectedValue === 'cleared' || selectedValue === 'reviewed'" /><label for="reportAccount"> Report Account</label><br />
<br/>
<input type="radio" id="markReviewed" name="actionSelector" value="reviewed" ng-model="selectedValue"/><label for="markReviewed"> Mark As Reviewed For Later</label>
<br>
cleared:{{cleared}}<br>
fraudulent:{{fraudulent}}<br>
reviewed:{{reviewed}}<br>
selectedValue: {{selectedValue}}
</div>

关于angularjs - ng-disabled 不适用于单选按钮和复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43786657/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com