我正在试图找到一种使用jQuery自动完成的方法,它带有回调源,通过Ajax json对象列表从服务器获取数据.

Could anybody give some directions?

I googled it but couldn't find a complete solution.

推荐答案

完美的例子在Autocomplete docs用源代码.

jQuery

<script>
  $(function() {
    function log( message ) {
      $( "<div>" ).text( message ).prependTo( "#log" );
      $( "#log" ).scrollTop( 0 );
    }

    $( "#city" ).autocomplete({
      source: function( request, response ) {
        $.ajax({
          url: "http://gd.geobytes.com/AutoCompleteCity",
          dataType: "jsonp",
          data: {
            q: request.term
          },
          success: function( data ) {
            response( data );
          }
        });
      },
      minLength: 3,
      select: function( event, ui ) {
        log( ui.item ?
          "Selected: " + ui.item.label :
          "Nothing selected, input was " + this.value);
      },
      open: function() {
        $( this ).removeClass( "ui-corner-all" ).addClass( "ui-corner-top" );
      },
      close: function() {
        $( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
      }
    });
  });
</script>

HTML

<div class="ui-widget">
  <label for="city">Your city: </label>
  <input id="city">
  Powered by <a href="http://geonames.org">geonames.org</a>
</div>

<div class="ui-widget" style="margin-top:2em; font-family:Arial">
  Result:
  <div id="log" style="height: 200px; width: 300px; overflow: auto;" class="ui-widget-content"></div>
</div>

Jquery相关问答推荐

使用jquery ui来回滑动切换

JQuery - 从先前 Select 的下拉列表中隐藏/显示选项

更改高亮 colored颜色

如何获取将在不提交的情况下提交的所有表单值

$(document).ready(function() VS $(function(){

用jquery查找div底部的位置

在不刷新页面的情况下更新网站的 CSS

使用 JavaScript 和 jQuery,跨浏览器处理按键事件 (F1-F12)

使用 jQuery DataTables 时禁用最后一列的排序

用 Javascript 加载 jQuery 并使用 jQuery

如何在新窗口中打开链接?

jQuery $(".class").click(); - 多个元素,点击事件一次

变量首字母大写

Bootstrap datepicker Select 后隐藏

jQuery - 从元素内部 Select 元素

由于滚动,响应表内的 bootstrap 按钮下拉菜单不可见

jQuery 使用 AND 和 OR 运算符按属性 Select

在 JavaScript 开头使用分号的目的是什么?

jQuery - 不可见时获取元素的宽度(显示:无)

jquery在cookie中保存json数据对象