$(...)。tagsinput不是一个函数

时间:2016-05-14 03:22:24

标签: javascript jquery twitter-bootstrap bootstrap-tags-input

我必须遗漏一些简单但我看不到的东西。我正在使用Bootstrap tagsinput插件,我试图按照这里的一些例子: http://bootstrap-tagsinput.github.io/bootstrap-tagsinput/examples/

这是我的代码:

<html>
  <head>
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/bootstrap.tagsinput/0.4.2/bootstrap-tagsinput.css" />
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script src="https://cdn.jsdelivr.net/bootstrap.tagsinput/0.4.2/bootstrap-tagsinput.min.js"></script>
  </head>
  <body>
    <input id="cities" class="form-control" value="New York,London" data-role="tagsinput" type="text">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
    <script>
      $(function() {
        $('#cities').tagsinput({
          maxTags: 3
        });
      });
    </script>
  </body>
</html>

我收到以下Javascript错误:

tagsinput.html:15 Uncaught TypeError: $(...).tagsinput is not a function

我尝试按this SO answer中的建议移除data-role="tagsinput",但输入变为常规文本框,但仍然会发生异常。

我做错了什么?

2 个答案:

答案 0 :(得分:5)

您正在script代码中加载2个jquery min文件。

删除bootstrap-tagsinput.min.js之后的那个,或者因为第二个版本是较新的版本而不是第一个版本。

http://jsbin.com/xarasebibi/edit?html,output

答案 1 :(得分:0)

您复制了jquery链接。一个在顶部,另一个在底部。并且只有在包含jquery链接后才能链接bootstrap-tag-min脚本。请参阅下面的更多信息。希望有所帮助

<html>
  <head>
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/bootstrap.tagsinput/0.4.2/bootstrap-tagsinput.css" />
  </head>
  <body>
    <input id="cities" class="form-control" value="New York,London" data-role="tagsinput" type="text">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
    <script src="https://cdn.jsdelivr.net/bootstrap.tagsinput/0.4.2/bootstrap-tagsinput.min.js"></script>
    <script>
      $(function() {
        $('#cities').tagsinput({
          maxTags: 3
        });
      });
    </script>
  </body>
</html>