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...