<title>jQuery UI 自动完成(Autocomplete) - 远程 JSONP 数据源</title>
<link rel="stylesheet" href="//apps.bdimg.com/libs/jqueryui/1.10.4/css/jquery-ui.min.css">
<script src="//apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="//apps.bdimg.com/libs/jqueryui/1.10.4/jquery-ui.min.js"></script>
<link rel="stylesheet" href="jqueryui/style.css">
.ui-autocomplete-loading {
background: white url('images/ui-anim_basic_16x16.gif') right center no-repeat;
function log( message ) {
$( "<div>" ).text( message ).prependTo( "#log" );
$( "#log" ).scrollTop( 0 );
$( "#city" ).autocomplete({
source: function( request, response ) {
url: "http://ws.geonames.org/searchJSON",
name_startsWith: request.term
success: function( data ) {
response( $.map( data.geonames, function( item ) {
label: item.name + (item.adminName1 ? ", " + item.adminName1 : "") + ", " + item.countryName,
select: function( event, ui ) {
"Selected: " + ui.item.label :
"Nothing selected, input was " + this.value);
$( this ).removeClass( "ui-corner-all" ).addClass( "ui-corner-top" );
$( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
<label for="city">您的城市:</label>
Powered by <a href="http://geonames.org" target="_blank">geonames.org</a>
<div class="ui-widget" style="margin-top:2em; font-family:Arial">
<div id="log" style="height: 200px; width: 300px; overflow: auto;" class="ui-widget-content"></div>