Jquery Autocomplete在本地工作但不在生产上工作

时间:2018-05-13 22:15:04

标签: javascript jquery autocomplete jquery-ui-autocomplete

我在这里试图解决这个问题。

我有一个网站在搜索表单的单个字段上使用jquery UI自动完成功能。超级简单,只需从数组中提取列表,根本不会发生服务器端的事情。代码基本上是从Jquery UI示例页面(https://jqueryui.com/autocomplete/)直接提取的。

在我使用Laravel on Homestead的本地开发环境中,它可以完美运行。但是在服务器上(使用相同的代码)它根本不起作用。控制台内部没有错误,所以几乎不可能分辨出这里出了什么问题。我在同一台服务器上有其他站点使用自动完成而没有任何问题,这使得它更加陌生。

以下是代码:

表单字段

<label for="subdivisons">Subdivision</label>
<input type="text" id="subdivisons" name="subdivision" class="form-control" value="{{ old('subdivision') }}" placeholder="Choose a subdivision">

这是来自页脚的jquery函数:

<script src="{{ asset('assets/js/jquery.min.js') }}"></script>
<script src="{{ asset('assets/js/jquery-ui.min.js') }}"></script>

<script>
$( function() {
  var available_subdivisions = [
    "CAPE HAZE WINDWARD",
    "CLUBHOUSE",
    "EAGLES PRESERVE SUBDIVISION",
    "FIDDLERS GREEN",
    "FIDDLERS GREEN NATURE TRAIL",
    "FIDDLERS GREEN RIVERVIEW",
    "FIDDLERS GREEN TALL PINES",
    "LEMON TREE",
    "OAKLAND HILLS SEC",
    "PINEHURST",
    "PORT CHARLOTTE SUBS",
    "PRESERVE AT WINDWARD PH1",
    "RIVERHOUSE",
    "ROTONDA BROADMOOR",
    "ROTONDA HEIGHTS",
    "ROTONDA LAKES",
    "ROTONDA RIVER CONDO",
    "ROTONDA SHORES",
    "ROTONDA WEST BROADMOOR",
    "ROTONDA WEST LONG MEADOW",
    "ROTONDA WEST OAKLAND HILL",
    "ROTONDA WEST OAKLAND HILLS",
    "ROTONDA WEST PEBBLE BEACH",
    "ROTONDA WEST PINE VALLEY",
    "ROTONDA WEST PINEHURST",
    "ROTONDA WEST WHITE MARSH",
    "SOUTH GULF COVE",
    "SUNSET VILLAGE AT ROTONDA WEST",
    "TOWNHOMES AT CAPE HAZE"
  ];
$( "#subdivisons" ).autocomplete({
    source: available_subdivisions
  });
});
</script>

同样,这基本上与jquery自动完成示例页面上使用的完全相同,并且它在我的本地开发服务器上完美运行。没有控制台错误。我检查了所有src元素,以确保它们正确链接。同样,我在此服务器上托管的其他几个网站上使用自动填充功能。唯一的区别是他们使用远程数据源而不是从数组中提取,但我不认为这会是一个问题。我似乎无法想出这个。

谢谢!

1 个答案:

答案 0 :(得分:0)

结果表明,我的available_subdivisions数组已包含在主布局刀片视图以及扩展视图中。一旦将其从扩展视图中删除,它便会正常运行。我这是愚蠢的错误。