jQuery remplir déroulante des options basées sur une autre liste déroulante de l'option à l'aide de Javascript Objet Littéral

Je suis la construction d'une liste de sélection pour les utilisateurs basés sur l'année et de faire (fabricant) de la voiture de leur choix. Au lieu de bâtir tous et sélectionnez options, puis l'affichage et le masquage, je voudrais seulement pour remplir la boîte de sélection et des options avec le javascript littéral d'objet qui est en corrélation avec le fabricant du véhicule. I. E. si ils choisissent ce fabricant, puis remplir la liste déroulante suivante avec ces véhicules et sur le changement, le remplacement de ceux pour correspondre à la nouvelle fabricant qui a été changé.

Voici ce que j'ai à ce jour:

Une boîte de sélection:

<label>Make</label>
<select id="makeSelectionBox" class="stringInfoSpacing">
<option value="-1" selected="selected">Make</option>
</select>

Peuplé de dans un objet littéral:

var modelMakeJsonList = {"modelMakeTable" : 
                    [
                    {"modelMakeID" : "1","modelMake" : "Honda"},
                    {"modelMakeID" : "2","modelMake" : "Ford"},
                    {"modelMakeID" : "3","modelMake" : "Chevy"},
                    {"modelMakeID" : "4","modelMake" : "Nissan"},
                    {"modelMakeID" : "5","modelMake" : "Toyota"},
                    ]};

L'aide de ce script:

 $(document).ready(function(){
  var listItems= "";
  for (var i = 0; i < modelMakeJsonList.modelMakeTable.length; i++){
    listItems+= "<option value='" + modelMakeJsonList.modelMakeTable[i].modelMakeID + "'>" + modelMakeJsonList.modelMakeTable[i].modelMake + "</option>";
  }
  $("#makeSelectionBox").html(listItems);
});

Il travaille en tant que de besoin et j'ai plus l'un d'alimenter les autres listes déroulantes. Mais comme mentionné ci-dessus, je voudrais un changement de fonction pour gérer le remplissage d'une zone de sélection au lieu d'avoir à afficher et de masquer chacun.

J'ai essayé cela, mais il ont tout cassé:

$(document).ready(function(){
$("select#makeSelectionBox").on('change',function(){
    if($(this).val()=="Honda"){
        $("select#modelSelectionBox").html(modelTypeHondaJsonList);
    }else if($(this).val()=="Ford"){
        $("select#modelSelectionBox").html(modelTypeFordJsonList);
    }
});

Si quelqu'un a des idées, s'il vous plaît laissez-moi savoir. Voici une fonctionnelle de violon:

DAS VIOLON

Juste en aparté, et les conseiller sur l'utilisation appropriée nomenclautre. Cela n'a rien à voir avec JSON. JSON est une chaîne de format de sérialisation. Vous avez affaire à un objet littéral. J'ai édité question et balises pour l'exactitude.

OriginalL'auteur isaac weathers | 2014-02-04