JSFiddle - React, Tailwind, and code Playground

HTML

<!DOCTYPE html>
<html>
<head>
    <title>Sample</title>

    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.css" />
    <script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script>

    <script>
	
	$( document ).on( "pageinit", "#myPage", function() {
	    $("#autocomplete").on("listviewbeforefilter", function (e, data) {
			var $ul = $(this),
	            $input = $(data.input),
	            value = $input.val(),
	            html = "";
	        $ul.html( "" );
	        if ( value && value.length > 2 ) {
				$("#autocomplete form.ui-listview-filter a span.ui-btn-inner span.ui-icon")
				    .removeClass("ui-icon-delete")
				    .addClass("ui-icon-ajax");
				$.ajax({
				    url: "http://gd.geobytes.com/AutoCompleteCity",
				    dataType: "jsonp",
				    crossDomain: true,
				    data: {
				        q: value
				    }
				})
				.then( function (response) {
				    $.each( response, function ( i, val ) {
				        html += "<li>" + val + "</li>";
				    });
				    $ul.html( html );
				    $ul.listview( "refresh" );
				    $ul.trigger( "updatelayout");
					$("#autocomplete form.ui-listview-filter a span.ui-btn-inner span.ui-icon").removeClass("ui-icon-ajax").addClass("ui-icon-delete");
				});
			}
	    });
	});
    </script>
	<style>
		.ui-icon-ajax {
			background-image: url(http://code.jquery.com/mobile/1.3.0/images/ajax-loader.gif);
			background-size: 18px 18px;
		}
		.ui-listview-filter-inset {
		    margin-top: 0;
		}
	</style>
</head>
<body>

    <div data-role="page" id="myPage">
        <div data-role="header" data-position="fixed">
            <h1>Cities worldwide</h1>
        </div><!--/header-->

        <div data-role="content">
			<p>After you enter <strong>at least three characters</strong> the...