angular.module('demoapp').controller("EventControllerNearPosition", EventControllerNearPosition);
EventControllerNearPosition.$inject = ["$scope", "ApiEventFactory", "ApiPositionFactory", "UserInteractionMessagesFactory", "$location"]
function EventControllerNearPosition($scope, apiEvent, apiPosition, UIMfactory, $location){
UIMfactory.printUserSuccessMessages();
UIMfactory.printUserFailedMessage();
getAllPositions();
function getAllPositions() {
apiPosition.getAllPositions().then(function(data){
$scope.positions = data.requested_positions;
}).error(function(error){
UIMfactory.addUserFailedMessage("Something went wrong, try again!");
$location.path("/");
});
};
$scope.SearchEvent = function(){
apiEvent.showNearbyEvents($scope.position_id).then(function(nearEvents){
$scope.events = nearEvents;
}).error(function(error){
UIMfactory.addUserFailedMessage("Something went wrong when fetching the events, try again!");
$location.path("/");
});
};
};
Angular Code^
<div class="event-container">
<div>
<h3>Ange position</h3>
<select id="position" data-ng-model="position_id">
<option data-ng-repeat="position in positions" value="{{position.id}}">
{{position.location_name}}
</option>
</select>
</div>
<div class="form-group">
<input type="submit" class="btn btn-default" data-ng-click="SearchEvent()" value="Skicka"/>
</div>
Die select wird nicht die Position binden, die ich von i api bekam. Ich habe die Anwendung debugged und überprüft, dass ich die richtigen Werte zurückbekomme. Ich weiß, dass ähnliche oder "gleiche" Code in anderen Teilansichten arbeiten, so dass ich nicht verstehe, warum es hier nicht funktioniert. Und auch wenn ich die Taste drücke, um "SearchEvent" auszulösen, passiert nichts im Debugger. Ich benutze Firefox, wenn das wichtig ist
Danke für jede Art von Feedback!
Es gibt keine "Daten" als Antwort. Es ist response.requested_position. Requested_positions ist ein Array, das die Positionsobjekte enthält –