【问题标题】:Ajax TypeError: $(...).typeahead is not a function errorAjax TypeError: $(...).typeahead 不是函数错误
【发布时间】:2016-02-17 10:33:55
【问题描述】:

大家好,我在我的项目中使用 ajax 尝试了搜索框。下面是我的代码。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>EduFly</title>
    <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
    <link rel="stylesheet" href="../css/bootstrap-dialog.min.css">
    <link rel="stylesheet" href="../css/jquery.dataTables.min.css">
    <link rel="stylesheet" href="../css/bootstrap-datetimepicker.css" media="screen">
    <link rel="stylesheet" href="../css/sweetalert.css">
    <link href="../css/style.css" rel="stylesheet">
 <script type="text/javascript" src="https://code.jquery.com/jquery-2.2.0.min.js"></script>
    <script src="../js/typeahead.min.js"></script>
    <script type="text/javascript">

    $(document).ready(function(){
$('input.typeahead').typeahead({
        name: 'typeahead',
        remote:'search.php?key=%QUERY',
        limit : 10
    });
});
</script>
</head>
<body>
 <input type="text" name="typeahead" class="typeahead tt-query" autocomplete="off" spellcheck="false" placeholder="Type your Query">
</body>
</html>

我的数据库中有大学详细信息列表,并在我的 search.php 代码中检索它。在文本框中输入详细信息时,它将在搜索框中显示相应的详细信息。但是 html 页面中显示的提前输入的问题不是函数我的浏览器控制台出错。如果有人知道解决方案,请帮我解决这个问题。

【问题讨论】:

  • 您正在加载两个版本的 jQuery。删除第二个,因为它覆盖了前一个实例,然后没有添加 $.fn.typeahead 方法。
  • 是的,现在我删除了第二个。现在我有一个 jQuery,即使现在它对我不起作用。
  • 请查看链接的浏览器支持部分...github.com/twitter/typeahead.js你可以在这里看到类似的帖子...stackoverflow.com/questions/24403635/…
  • 是的,他们指定它将支持 firefox chrome IE ..即使我只在 firefox 中尝试过,但它不起作用

标签: php jquery ajax


【解决方案1】:

先包含 jquery.js,然后再包含 typehead.js 文件

【讨论】:

  • 是的,我也尝试过这种方式@Harinder Singh,同样的错误又来了
  • 现在我用新版本替换 jQuery 仍然没有输出。同样的错误正在重复
  • 您包括 twines time jquery 文件
  • 现在看看我的问题..是的,我现在改变了这样的代码。现在我也收到错误..
【解决方案2】:

去掉这行代码:

&lt;script type="text/javascript" src="http://code.jquery.com/jquery.js"&gt;&lt;/script&gt;

然后应该工作......

【讨论】:

  • 是的,我删除了它仍然无法正常工作同样的错误又来了
【解决方案3】:

你在jquery之前包括typehead

试试这个

 $(document).ready(function(){
    $('input.typeahead').typeahead({
            name: 'typeahead',
            remote:'search.php?key=%QUERY',
            limit : 10
        });
   
    });
<!DOCTYPE html>
    <html lang="en">
      <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>EduFly</title>
        <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
        <link rel="stylesheet" href="../css/bootstrap-dialog.min.css">
        <link rel="stylesheet" href="../css/jquery.dataTables.min.css">
        <link rel="stylesheet" href="../css/bootstrap-datetimepicker.css" media="screen">
        <link rel="stylesheet" href="../css/sweetalert.css">
        <link href="../css/style.css" rel="stylesheet">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/typeahead.js/0.11.1/typeahead.jquery.min.js"></script>
   
    </head>
    <body>
     <input type="text" name="typeahead" class="typeahead tt-query" autocomplete="off" spellcheck="false" placeholder="Type your Query">
    </body>
    </html>

【讨论】:

  • 您是否在 mozilla firefox 中运行过此代码?控制台选项卡中再次出现相同的错误?
  • TypeError: $(...).typeahead 不是函数
  • 嘿,我不知道您使用的是哪个版本的typehead,但我已经编辑了答案,请查看。
  • 这真的很奇怪,我尝试使用相同的代码但它不起作用。
  • 是的,我得到相同的 TypeError: $(...).typeahead is not a function error
猜你喜欢
  • 2015-02-13
  • 2023-04-05
  • 1970-01-01
  • 2017-11-29
  • 1970-01-01
  • 2013-08-18
相关资源
最近更新 更多