JSFiddle - React, Tailwind, and code Playground

by mattography

HTML

<div id="result"></div>
<select id="dropdown">
    <option value="">Select</option>
</select>
<a href="#" id="fetch">Fetch JSON</a>

CSS

#result{height: 50px; padding: 5px 5px 5px 5px;}
#dropdown, #fetch{position: relative; left: 50%; margin: 0 auto;}

JavaScript

var json = {
    "dropdown": [
    {
        "optionText": "Budget Starter",
		"headerText": "Work 1-on-1 with your expert to build new spending habits (and break some old ones). Get on a real, sustainable budget that fits your lifestyle.",
		"color": "#59c5c7"
    },
    {
        "optionText": "5 Year Planner",
		"headerText": "Declare what you want - freedom from debt, security for your family, or an amazing trip. Your expert will build you a custom plan to help you get there.",
		"color": "#009cd0"
    },
    {
       "optionText": "Portfolio Builder",
		"headerText": "Start training for the world's hardest game: investing. Your expert will help you grow into a disciplined and balanced portfolio manager.",
		"color": "#39ad74"
    }
    ]
};

$('#fetch').click(function() {
$.post('/echo/json/', {json: JSON.stringify(json)}, function(data) {
    var dropdown = $('#dropdown');
    $.each(data.dropdown, function(i, v) {
        var option = $('<option value="' + v.color + '">' + v.optionText + '</option>');
        option.data('header', v.headerText).appendTo(dropdown);
    });
});
});

//change color of header container based on dropdown selection
$("#dropdown").change(function () {
    $("#result").css("background-color", $(this).val());
    $("#result").html($(this).find("option:selected").data("header"));
}).change();