jQuery UI自动完成与预转换json url

jQuery UI autocomplete with pre-transformed json url

本文关键字:转换 json url UI jQuery      更新时间:2023-09-26

好的,所以我理解jQueryUI期望在键/值形式的对象与键的"值"answers"标签",所以我已经把我的数据转换成这个json格式。现在我只是不确定如何最简单的方式来源我的json url。关于这个问题的所有其他文章都表明需要拉入数据并对其进行转换,但我的情况并非如此。

我的json文件在getuser.php?brian

[
   {"label":"Brian Aa","value":"7e36e"},
   {"label":"Brian Ba","value":"3e497"},
   {"label":"Brian Bc","value":"c3263"},
   {"label":"Brian Cc","value":"5be94"}
]

My Autocomplete JS:

$("#test").autocomplete({
  source: function(request, response) {
    "sample.com/getusers.php?name="+$("#test").val(), request, response;
  },
  minLength:2
});
HTML

<div>
  <label for="tags">Requested By: </label>
  <input id="test">
</div>

现在我什么也没得到,当我输入,假设我必须设置ajax,但我认为我已经看到了一个非常简单的解决方案的例子,当JSON已经格式化,但似乎找不到它。

源函数不正确,您需要从服务器获取数据并使用响应作为调用,请参见自动完成API

  source: function(request, response) {
     var url = "sample.com/getusers.php?name="+$("#test").val();
     $.get(url).done(function(data){
       response(data);
     }).fail(function(error){
        //dosomething here
     });
  }

这是一个ajax调用的问题,我只是认为有一个更简单的方法。

$( function() {
  $( "#test" ).autocomplete({
    source: function( request, response ) {
      $.ajax( {
        url: "sample/getusers.php?name="+$("#test").val(),
        dataType: "json",
        data: {
          term: request.term
        },
        success: function( data ) {
          response( data );
        }
      } );
    },
    minLength: 2,
    select: function( event, ui ) {
    }
  } );
} );