JSFiddle - React, Tailwind, and code Playground

HTML

<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.0/themes/base/jquery-ui.css">
<script src="http://code.jquery.com/jquery-1.8.2.js"></script>
<script src="http://code.jquery.com/ui/1.9.0/jquery-ui.js"></script>
<div class="demo">

    <button>Select a city</button>
    <ul>
        <li><a href="#">Amsterdam</a></li>
        <li><a href="#">Anaheim</a></li>
        <li><a href="#">Cologne</a></li>
        <li><a href="#">Frankfurt</a></li>
        <li><a href="#">Magdeburg</a></li>
        <li><a href="#">Munich</a></li>
        <li><a href="#">Utrecht</a></li>
        <li><a href="#">Zurich</a></li>
    </ul>
    
    <div id="log"></div>

</div>

CSS

body { font-size:62.5%; }
        .ui-menu { width: 200px; position: absolute; }
        .menu4 { height: 200px; overflow-y: auto; overflow-x: hidden; }
        .address-item { border-bottom: 1px solid #999; }
        .address-header { display: block; margin-bottom: .2em; font-weight: bold; }
        .address-content { display: block; margin-bottom: .2em; padding-left: 10px; }

JavaScript

$(function() {
        $(".demo button").button({
            icons: {
                primary: "ui-icon-home",
                secondary: "ui-icon-triangle-1-s"
            }
        }).each(function() {
            $(this).next().menu({
                select: function(event, ui) {
                    $(this).hide();
                    $("#log").append("<div>Selected " + ui.item.text() + "</div>");
                },
                input: $(this)
            }).hide();
        }).click(function(event) {
            var menu = $(this).next();
            if (menu.is(":visible")) {
                menu.hide();
                return false;
            }
            menu.menu("blur").show().css({top:0, left:0}).position({
                my: "left top",
                at: "left bottom",
                of: this
            });
            $(document).one("click", function() {
                menu.hide();
            });
            return false;
        })
    });