Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery自动完成没有显示自动完成下拉列表?_Javascript_Jquery_Autocomplete - Fatal编程技术网

Javascript Jquery自动完成没有显示自动完成下拉列表?

Javascript Jquery自动完成没有显示自动完成下拉列表?,javascript,jquery,autocomplete,Javascript,Jquery,Autocomplete,我有一个搜索输入字段-当用户搜索任何字符串时,它将显示自动完成下拉列表。但是,由于某些原因,它没有显示“自动完成”下拉列表。但当我找到我的基本url并在地址栏中以/JobSearchItem.xhtml路径结尾时,它将只返回json格式的结果。但是,它不显示任何自动完成下拉列表。有人能检查一下我是如何自动完成的吗。谢谢 PS:如果你们需要我展示更多的代码,请告诉我 这是我的代码: $(function() { var base_url = "http://localhost:

我有一个搜索输入字段-当用户搜索任何字符串时,它将显示自动完成下拉列表。但是,由于某些原因,它没有显示“自动完成”下拉列表。但当我找到我的基本url并在地址栏中以/JobSearchItem.xhtml路径结尾时,它将只返回json格式的结果。但是,它不显示任何自动完成下拉列表。有人能检查一下我是如何自动完成的吗。谢谢 PS:如果你们需要我展示更多的代码,请告诉我

这是我的代码:

     $(function() {


   var base_url = "http://localhost:8080/myapp/";
    $( "#searchTextField" ).autocomplete({

         source: function( request, response ) {
        $.ajax({
          url: base_url + "JobSearchItem.xhtml",
          dataType: "json",
          data: {
            q: request.searchValue
          },
          success: function( data ) {
            response( $.map(data, function(v,i) { 
                    return { jobClassCD: v.jobClassCD, jobClassTitle: v.jobClassTitle }; 
                 }) 
            );
          }
        });


    });

  }); 
json响应

    [{"jobClassCD":"1000","pGrade":"0","jobGroup":"","jobClassTitle":"ABC DEVELOPER"} 

您可以尝试这样做:

$(function() {
  var base_url = "http://localhost:8080/myapp/";
  $.ajax({
    url: base_url + "JobSearchItem.xhtml",
    dataType: "json",
    data: {
      q: request.searchValue
    },
    success: function(data) {
      var newAray = $.map(data, function(v, i) {
        return {
          jobClassCD: v.jobClassCD,
          jobClassTitle: v.jobClassTitle
        };

        $("#searchTextField").autocomplete({
          source: newArray
        });
      });
    }
  });

});

看起来您在需要返回响应的函数中使用了错误的输入。在我的前端搜索输入中,对吗?这是我的html输入:
谢谢您的回答。但它没有起作用。当我使用地址栏时,我是否应该向您显示json结果?我是否需要在jquery中使用“GET”参数才能查看下拉列表?请给我json响应,然后尝试我的更新代码。可能存在与承诺相关的问题,这意味着您需要在初始化自动编译器之前等待ajax响应。此外,我尝试更新的答案仍然没有显示。因为当我使用更新的代码搜索时,在控制台中我得到:
ReferenceError:request未定义