Javascript md复选框的行为类似于单选按钮-AngularJS

Javascript md复选框的行为类似于单选按钮-AngularJS,javascript,angularjs,angular-material,Javascript,Angularjs,Angular Material,我正在尝试md复选框的行为就像Angular 1中的单选按钮。我尝试了以下代码,但不起作用。可能吗 <md-checkbox class="md-primary" ng-model="color" name="color" ng-repeat="c in colors" ng-true-value="'{{c.id}}'" ng-false-value=""> {{c.name}} </md-checkbox> {{c.name}} 提前感谢。如果您像ng

我正在尝试
md复选框
的行为就像Angular 1中的单选按钮。我尝试了以下代码,但不起作用。可能吗

<md-checkbox class="md-primary" ng-model="color" name="color" ng-repeat="c in colors" ng-true-value="'{{c.id}}'" ng-false-value="">
    {{c.name}}
</md-checkbox>

{{c.name}}

提前感谢。

如果您像
ng true value=“{{c.id}}”

根据角度材料:

ng真值-表达式-选择表达式时应设置的值


如果您将像
ng true value=“{{c.id}}”这样传递,则应该可以工作

根据角度材料:

ng真值-表达式-选择表达式时应设置的值


应该是这样,

 <md-checkbox class="md-primary" ng-model="color" name="color" ng-repeat="c in colors" ng-true-value="'c.id'" ng-false-value="">
        {{c.name}}
 </md-checkbox>

使用材料0.11.0选择测试角度md
{{c.name}}

它应该如下所示

 <md-checkbox class="md-primary" ng-model="color" name="color" ng-repeat="c in colors" ng-true-value="'c.id'" ng-false-value="">
        {{c.name}}
 </md-checkbox>

使用材料0.11.0选择测试角度md
{{c.name}}

当您需要单选按钮时,不要使用复选框。如果希望单选按钮带有复选标记,请将md复选框使用的类应用于单选按钮


为了美观起见,使用错误的表单控件是一个非常糟糕的主意;有各种各样的可访问性问题,比如在手机上如何对待它们,盲人屏幕阅读器如何对待它们,等等。这样想想,如果你想要一个红色按钮,你可以将按钮设计成红色。在这种情况下,只需将收音机的样式设置为支票。

当您需要单选按钮时,不要使用复选框。如果希望单选按钮带有复选标记,请将md复选框使用的类应用于单选按钮


为了美观起见,使用错误的表单控件是一个非常糟糕的主意;有各种各样的可访问性问题,比如在手机上如何对待它们,盲人屏幕阅读器如何对待它们,等等。这样想想,如果你想要一个红色按钮,你可以将按钮设计成红色。在这种情况下,只需将收音机的样式设置为一个复选框即可。

您不必在每个复选框中使用ng型号。如果您利用
ng checked
ng click

HTML:

<md-checkbox ng-repeat="c in colors"
           ng-click="setSelectedColor(c)"
           ng-checked="c.id === selectedColor.id">
    {{c.name}}
</md-checkbox>
app.controller('MainCtrl', function($scope) {
    $scope.colors = [{id: 1, name: 'red'}, {id: 2, name: 'green'}];
    $scope.selectedColor; //You can set a initial selection if you want

    $scope.setSelectedColor = function(c){
        $scope.selectedColor = c;
    };
});

您不必在每个复选框中使用ng模型。如果您利用
ng checked
ng click

HTML:

<md-checkbox ng-repeat="c in colors"
           ng-click="setSelectedColor(c)"
           ng-checked="c.id === selectedColor.id">
    {{c.name}}
</md-checkbox>
app.controller('MainCtrl', function($scope) {
    $scope.colors = [{id: 1, name: 'red'}, {id: 2, name: 'green'}];
    $scope.selectedColor; //You can set a initial selection if you want

    $scope.setSelectedColor = function(c){
        $scope.selectedColor = c;
    };
});


为什么不改为使用material单选按钮?@Soviut我希望在我的UI中应用
md复选框
中的勾号,它的行为应该像单选按钮一样
md单选按钮
仅具有点样式对吗?有没有办法改变它?为什么不改为使用material单选按钮?@Soviut我想在我的UI中应用
md复选框
中的勾号,它的行为应该像单选按钮一样
md单选按钮
仅具有点样式对吗?有没有办法改变它?我试过使用你的代码,但它的行为不像单选按钮。此外,它没有为我获取
ng model
值。我尝试了您的代码,但它的行为不像单选按钮。此外,它没有给我
ng model
值。@Abrahamgnanasing git it what you want,will approve这个答案@Abrahamgnanasing git it what you want,will approve这个答案这很好。是否可以在不使用ng模型的情况下进行验证?你能告诉我如何验证你的答案吗?你想验证什么?必须选择哪一个选项?我要求在其中添加
ng required
,以便在
formName.colorName.$invalid
中反映出来,对吗?有这样的方法吗?你是对的,如果你想使用验证,你必须使用
ng model
。我已经做了一个变通方法来让它工作,但您只能检查用户是否选择了至少一个选项。但正如其他用户所说,如果你有一个单选按钮控件,要获得同样的功能需要做很多工作。不管怎样,如果你仍然有一些问题,请告诉我…这是工作良好。是否可以在不使用ng模型的情况下进行验证?你能告诉我如何验证你的答案吗?你想验证什么?必须选择哪一个选项?我要求在其中添加
ng required
,以便在
formName.colorName.$invalid
中反映出来,对吗?有这样的方法吗?你是对的,如果你想使用验证,你必须使用
ng model
。我已经做了一个变通方法来让它工作,但您只能检查用户是否选择了至少一个选项。但正如其他用户所说,如果你有一个单选按钮控件,要获得同样的功能需要做很多工作。不管怎么说,如果你和plunker还有什么问题,请告诉我。。。