Нужно получить значение переключателя и передать его бэкэнду с помощью 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);
}
});
Взгляните на пример плунжера