jquery使用autocompete。我想添加异步来删除渲染阻止

时间:2016-04-29 19:46:12

标签: javascript jquery

您好我想使用异步来加速页面以删除渲染阻止。

发生了什么事;当我在jquery文件之前在脚本中放入异步时,自动完成停止工作? 如果我不使用async然后再进行阻止。

任何想法都必须如何使两者都有效?

可以解释为什么会发生这种情况?

用于表格邮政编码选择

site

 <script async    src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script><!----NEED for postcode--->
  <script   >
      //custom select box    

      $("#swSearch").autocomplete({
    minLength: 1,
    source: function(req, add){
        $.ajax({
            url: 'http://www.vestedutility.com.au/WMS/index.php/welcome/sw_search', //Controller where search is performed
            dataType: 'json',
            type: 'POST',
            data: req,
            success: function(data){
                if(data.response =='true'){
                   add(data.message);
                }
            }
        });
    }
});

  </script>

2 个答案:

答案 0 :(得分:2)

我访问了您提供的页面,页面上有很多错误:
enter image description here

  1. 首先从<script>标记中删除所有异步。

  2. 然后将您的自动填充代码放在此

    $(function() {
    //your autocomplete code here
    }
    

    这可以解决您的问题,因为自动填充本身正在使用jquery。

  3. 除此之外,您的html文档以<head>开头。

  4. 也没有身体标签。

  5. 您正在下载bootstrap.min.js 3次。

答案 1 :(得分:0)

您自己的代码依赖于jquery,因此async将无法在那里工作。您的代码将在jquery加载之前执行。开发人员控制台总是为您提供很好的错误堆栈跟踪。

在您发布的链接上,您似乎忘了包含自动填充脚本。