#javascript #angularjs
#javascript #angularjs
Вопрос:
У меня есть один выпадающий список, при событии ng-change мне нужно передать значение выпадающего списка $scope.getPIRData
функции, чтобы я мог получать динамические результаты.
<div class="col-sm-4 col-lg-offset-4" ng-controller="myCtrl">
<select class="form-control" ng-model="sel_val" ng-change="getPIRData(sel_val)" ng-options="data.deveui for data in Customers"></select>
</div>
<script>
var app = angular.module('plunker', []);
app.controller('myCtrl', function ($scope, $http, $window) {
$scope.sel_val = 0;
$scope.DefaultLabel = "Loading.....";
var post = $http({
method: "get",
url: "../data.json",
dataType: 'json',
data: {},
headers: { "Content-Type": "application/json" }
});
post.success(function (data, status) {
$scope.Customers = data;
});
post.error(function (data, status) {
});
$scope.getPIRData = function (id) {
$http.get("/PIRDetails/GetPIRStatus/" id)
.then(function (response) {
$scope.myWelcome = response.data;
console.log(JSON.stringify($scope.myWelcome));
});
};
});
</script>
Комментарии:
1. попробуйте отправить
sel_val.deveui
, т.Е.,ng-change="getPIRData(sel_val.deveui)
Ответ №1:
Передайте значение в директиве ng-change.
ng-change="getPIRData(sel_val)"
Комментарии:
1. он показывает что-то вроде этого — /PIRDetails/GetPIRStatus/[object Object] и выдает ошибку. ожидаемое значение — e8e1102d9
2. Для чего нужна структура
Customers
? Приведенная выше ошибка просто означает, чтоsel_val
это массив объектов. Добавьтеconsole.log(id)
перед вызовом $ http вgetPIRData
функции и сообщите мне результат.3. Это не помогает, не могли бы вы сделать снимок экрана или хотя бы правильно отформатировать вывод?