在角度JS中强制选择单选框和复选框

时间:2015-07-01 03:55:59

标签: angularjs

我在单页中有两个html表。一个用于源数据,一个用于目标数据。

用户可以从源中选择一个元素,从Destination中选择多个元素。

源表有每个通过角度JS ng-repeat的单选按钮。

<div class="col-lg-8 col-md-8 col-sm-8 scrollableTable">
                                            <table ng-table="tableParams" class="table table-striped ">
                                            <tbody>
                                                <tr ng-repeat="source in sourcedata">
                                                    <td><input type="radio" name="radio" class="radio" ng-click="radio();checked()"/></td>

目的地表有每个通过ng-repeat的复选框。

<div class="col-lg-8 col-md-8 col-sm-8 scrollableTable padding-0">                    


<table ng-table="tableParams1" class="table table-striped">
                                    <tbody>
                                        <tr ng-repeat="dest in destdata">
                                            <td> <input type="checkbox" class="check" ng-click="checked();radio()" /> </td> 
                                        ..

我想在进行服务器调用之前检查用户是否选择了至少一个单选按钮和复选框。否则通知用户进行选择。

1 个答案:

答案 0 :(得分:0)

目前我已经使用了jquery并在无线电中添加了类,并在ng-repeat中添加了复选框以启用提交按钮。

$scope.checked=function(){
                //check if checkbox is checked
                if ( $('.check').is(':checked') && $('.radio').is(':checked')) 
                {
                    alert("in function");
                    $('.CopyColorInfo').removeAttr('disabled'); //enable input

                } else {
                    $('.CopyColorInfo').attr('disabled', true); //disable input
                }
            };
            $scope.radio=function(){
                if ( $('.radio').is(':checked') && $('.check').is(':checked')) {    
                    $('.CopyColorInfo').removeAttr('disabled'); //enable input

                } else {
                    $('.CopyColorInfo').attr('disabled', true); //disable input
                }
            }; 

此功能有效。但还有另一种更好的方法吗?