Нужно получить значение переключателя и передать его бэкэнду с помощью HTML и angularJS, а данные, отображаемые во внешнем интерфейсе, представляют собой список

// Это мой HTML-код, в котором я возвращаю список из бэкэнда.

<ul> <li ng-repeat=" opt in bcfList1 track by $index" > <input type="radio" name="buildid" id="buildid" ng-model = $parent.selected ng-value="bcfList1" required> {{ opt }} </li> </ul>

// Это моя программа controller.js

$scope.getDetails =function(data){
        var id=data.id;
        $('#addNode3').modal('show');
        UpgradeService.getDataById(id).then(function(data){
            if(data!=null){
               $scope.List1=data.BUILDNUMBER;
            }
        });
    }

Мне нужно получить строковое значение, которое будет указано перед переключателем. Поэтому, как только я нажму на кнопку с зависимой фиксацией, она должна отправить это значение в controller.js. Используя ng-model, мне нужно решение Помоги мне!!

2 ответа

Решение

Вам нужно добавить ng-change в ваши поля ввода с вызовом этой функции. Вот быстрое демо:

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
  $scope.b = [1, 2, 3, 4, 5, 6, 7, 8, 9];
  $scope.getDetails = function(index) {
    console.log("sending data", index,$scope.selected);
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>

<div ng-app="myApp" ng-controller="myCtrl">
  <div ng-repeat="a in b track by $index">
    <input type="radio" ng-model="$parent.selected" ng-value="a" ng-change="getDetails($index)" /> {{a}}
  </div>
</div>

Если я правильно понимаю, вам нужно собрать, какой тип входного радио был нажат в контроллере, и отправить эту информацию в бэкэнд.

ng-model Директива очень хороший подход, и вы можете использовать его так же, как и так:

HTML

<label>
  One
  <input type="radio" value="one" ng-model="radio">
</label>
<label>
  Two
  <input type="radio" value="two" ng-model="radio">
</label>

<br><br>{{ radio }}<br>

JS

app.controller('MainCtrl', function($scope) {
  $scope.radio = '';
  $scope.consoleLogRadio = function() {
    console.log($scope.radio);
  }

});

Взгляните на пример плунжера

Другие вопросы по тегам