Remplir une boîte de sélection à l'aide de JQUERY, AJAX et PHP

J'ai posté une question plus tôt et ne pas avoir beaucoup de chance, j'espère pour effacer le contenu d'une deuxième liste déroulante et de repeupler la liste déroulante, selon la valeur qui est dans la première liste déroulante.

J'ai le texte suivant, sélectionnez les cases comme ci-dessous:

   <select name = "car" id="Cars" onchange="myFunction(this)">
            <option value="0">Toyota</option>
            <option value="1">Audi</option>
            <option value="2">Suzuki</option>
   </select>

En dessous de cette liste déroulante j'ai aussi un autre menu déroulant pour les modèles:

    <select id="emptyDropdown">
            <option value="0">R8</option>
            <option value="1">Quattro</option>
            <option value="2">A6 hatchback</option>
    </select>

onchange je veux effacer la deuxième liste déroulante et de le remplir avec des modèles relatifs à la marque de la voiture. Par exemple.

Audi - A8, A6, A4 etc.
Suzuki - Swift, Panda etc.


<script>
  function myFunction(obj)
  {
    $('#emptyDropdown').empty()
    var dropDown = document.getElementById("carId");
    var carId = dropDown.options[dropDown.selectedIndex].value;
    $.ajax({
            type: "POST",
            url: "/project/main/getcars",
            data: { 'carId': carId  },
            success: function(msg){
                ?????????
            }
        });
  }
</script>

Je alors la suite de fonctions PHP comme on le voit ci-dessous(j'utilise codeigniter) - cette fonction utilise la Voiture ID et renvoie une liste de tous les modèles, comme ci-dessous:

public function getCars(){
        $this->load->model('car_model');

        $this->form_validation->set_rules('carId', 'carId', 'trim|xss_clean');

        if($this->form_validation->run()){
            $carId = $this->input->post('carId');
            $carModels = $this->user_management_model->getCarModels($carId);
        } else {
            echo "error";
        }   
}

Ensuite, je ne sais pas comment faire pour retourner chaque élément de la matrice produite en PHP, pour repeupler la liste déroulante avec ID = "emptyDropdown".Le tableau généré en PHP a la structure suivante:

Array ( [0] => Array ( [ModelName] => R8 V6 Twin Turbo [ModelID] => 19 ) [1] => Array ( [ModelName] => A6 Hatchback  [ModelID] => 107 ) )

De clarifier la question - comment devrais-je prendre chaque élément du tableau et de mettre ce que une nouvelle option dans la liste déroulante? est-il possible de retourner un tableau de javascript et ensuite repeupler dans le succès méthode de l'appel ajax?

Toute aide serait grandement appréciée, merci d'avance

source d'informationauteur TotalNewbie