Как включить / отключить кнопку, когда флажок установлен в таблице с помощью angularjs?

0
<div>    
<table class="table">

    <tbody>
        <tr ng-repeat="student in ClassStudents | filter:stdsearch">
            <td><input type="checkbox" ng-model="student.isselected"/></td>
        </tr>
    </tbody>
</table>
<div>
 <input type="submit" ng-disabled="!student.isselected" value="Assign"  />
</div>
</div>

Я хочу кнопку включения только тогда, когда установлен флажок. Но это не работает для меня. Пожалуйста, предложите.

Теги:

3 ответа

4
Лучший ответ

На самом деле проблема вызвана ссылкой student за пределы ng-repeat.

Предполагая, что у вас несколько учеников, и вы хотите, чтобы кнопка была включена, когда выбран хотя бы один студент, вам нужно будет ClassStudents и проверить, выбран ли какой-либо из них.

<button ng-disabled="countChecked() == 0">enable/disable</button>

$scope.countChecked = function(){
    var count = 0;
    angular.forEach($scope.ClassStudents, function(value){
        if (value.isselected) count++;
    });

    return count;
}
  • 0
    Хороший сэр ....... @ Icycool
  • 0
    Благодарю. это помогло. :)
Показать ещё 2 комментария
0

Используйте ng-disabled='student.isselected' в вашей кнопке.

Угловая ng-disabled документация

  • 0
    Моя кнопка на внешней стороне стола, сэр
  • 0
    Ответили до того, как ваше редактирование было сделано. Я обновлю ответ
0

Проверьте скрипку. Он будет включать кнопку, когда флажок установлен и отключен, когда флажок снят.

<div ng-controller="MyCtrl">
  Hello, {{name}}!
    <input type="checkbox" ng-model="student.isSelected"/>
    <button ng-disabled="!student.isSelected" >enable/disable</button>
</div>

//js code

var myApp = angular.module('myApp',[]);

function MyCtrl($scope) {
    $scope.name = 'Superhero';
    $scope.student = {isselected: false};
}

http://jsfiddle.net/HB7LU/14629/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню