je viens de faire un petit script mais suis unpeu foirée en effet j'utilise le framework Cakephp 3.0 pour le côté metier
dans ma vue j'ai ceci:
<div class="row" ng-controller="geolocalisationsCtrl" >
<nav class="large-3 medium-4 columns" id="actions-sidebar">
<ul class="side-nav">
<li class="heading"><?= __('Actions') ?></li>
<li>
<?= $this->Form->input('ville_id',['type' => 'select','class' => 'form-control','options' =>$villes,'div'=>false,'label'=>false,'ng-change'=>'listearrondissement()','data-ng-model' => 'form.choixville','empty'=>'Choisir la ville']);?>
</li>
<li>
<select ng-model="arron_selection" ng-options="x for x in list">
</select>
</li>
</ul>
</nav>
<div class="geolocalisations form large-9 medium-8 columns content">
<?= $this->Form->create(NULL) ?>
<fieldset>
<legend><?= __('Add Geolocalisation') ?></legend>
</fieldset>
<?= $this->Form->end() ?>
</div>
</div>
dans mon controller angularjs j'ai ceci:
mainApp.controller('geolocalisationsCtrl',function($scope,$rootScope,$http,$location){
console.log('Chargement des données...');
var path = $location.absUrl();
var $link = path.substring(0 ,path.lastIndexOf( "/" )) + '/findArrondissement';
$scope.form = null;
$scope.listearrondissement = function(){
var idville = $scope.form.choixville;
if(idville != 0)
{
$http.post($link,{'id_ville':idville}).success(function(data){
$scope.list = data;
alert(data);
});
/*$scope.setPage = function(pageNo) {
$scope.currentPage = pageNo;
};
$scope.filter = function() {
$timeout(function() {
$scope.filteredItems = $scope.filtered.length;
}, 10);
};
}
else
{
alert('Le choix est obligatoire');
}
};
});
côté serveur j'ai ceci:
public function findArrondissement()
{
$this->autoRender = false;
if($this->request->is('post'))
{
$arrond = TableRegistry::get('Administration.Arrondissements');
$arrond = $arrond->find('list', ['keyField' => 'id','valueField'=>'nom_arrondissement'])
->where(['ville_id'=>$this->request->data['id_ville']])->toArray();
$data = json_encode($arrond);
echo $data;
}
die();
}
lorsque je sélectionne ma ville charcher dans le premier select, tous ce passe bien j'ai la valeur sélectionnée qui est envoyé au serveur à traver mon script angularjs, le serveur recherche dans la base de donnée et me fournir le résultat suivant
{"1":"Douala 1 er","2":"Douala 2 e","3":"Douala 4"}
encodé en Json, le problème maintenant c'est que je n'arrive pas à remplir le prochain select avec ces valeur en angularjs
je ne sais pas si j'ai mal expliqué
en effet je n'arrive pas à remplir mon select avec les données suivants {"1":"Douala 1 er","2":"Douala 2 e","3":"Douala 4"}
quelqu'un a une idée?
j'avoue je suis nul en javascript
SVP