JSFiddle - React, Tailwind, and code Playground
by Wes Shipley
HTML
<fieldset>
<div class="item">
<label>Make</label>
<select id="make">
<option value="">-- Make --</option>
</select>
</div>
<div class="item">
<label>Model</label>
<select id="model">
<option value="">-- Model --</option>
</select>
</div>
<div class="item">
<label for="">Model</label>
<select id="engine">
<option value="">-- Engine --</option>
</select>
</div>
<div class="item">
<label for="">Parts</label>
<select id="parts">
<option value="">-- Parts --</option>
</select>
</div>
</fieldset>
JavaScript
$(document).ready(function()
{
var makesModels = {
"Audi":{
"50": {
"50 L(1974-1978)": ["Alternators", "Starter Motors"],
"50GL(1974-1978)": ["Alternators", "Starter Motors"] },
"A1": {
"A1 1.2TFSI(2010-)": ["Alternators", "Starter Motors"],
"A1 1.4TFSI(2010-)": ["Alternators", "Starter Motors"],
"A1 Sportback 2.0 TDI(2011-)":["Alternators","Starter Motors"]
}
},
"Audi2":{
"50": {
"50 L(1974-1978)": ["Alternators", "Starter Motors"],
"50GL(1974-1978)": ["Alternators", "Starter Motors"] },
"A1": {
"A1 1.2TFSI(2010-)": ["Alternators", "Starter Motors"],
"A1 1.4TFSI(2010-)": ["Alternators", "Starter Motors"],
"A1 Sportback 2.0 TDI(2011-)":["Alternators","Starter Motors"]
}
},
"Audi3":{
"50": {
"50 L(1974-1978)": ["Alternators", "Starter Motors"],
"50GL(1974-1978)": ["Alternators", "Starter Motors"] },
"A1": {
"A1 1.2TFSI(2010-)": ["Alternators", "Starter Motors"],
"A1 1.4TFSI(2010-)": ["Alternators", "Starter Motors"],
"A1 Sportback 2.0 TDI(2011-)":["Alternators","Starter Motors"]
}
}
}
function populatecascadingdropdown(makesModels)
{
var jsonData = makesModels;
for (var make in jsonData) {
var option = '<option value="' + make + '">' + make + '</option>';
$("#make").append(option);
}
// Populate Models
$("#make").on("change", function () {
var selectedOption = $('#make option:selected').val();
if (selectedOption != "") {
$("#model").html('<option value=""> -- select -- </option>');
var make = $(this).val(),
models = jsonData[make];
for (car in models) {
var...