У меня две таблицы html на одной странице. Один для исходных данных и один для данных назначения.
Пользователь может выбрать один элемент из источника и несколько из пункта назначения.
В исходной таблице есть переключатель для каждого через угловой 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>
..
Я хочу проверить, выбрал ли пользователь хотя бы один переключатель и флажок перед вызовом сервера. В противном случае уведомите пользователя о выборе.
В настоящее время я использовал 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
}
};
Эта функция работает. Но есть ли другой лучший способ?