jquery - 未捕获的 TypeError : $(. ..).tagsinput 不是函数

标签 jquery checkbox input twitter-bootstrap-3 tags

我有一个搜索框和几个复选框。选中后,复选框中的值将被推送到搜索框中。

现在我想对插入搜索框中的每个字符串使用引导标签输入,使其看起来像标签,但我在标题中收到错误消息。

我使用标签输入是否错误?

$(document).ready(function () {
        $checks = $(":checkbox");
        $checks.on('change', function () {
            var ingredient = $checks.filter(":checked").map(function (i, v) {
                return this.id;
            }).get().join(" ");
            $('#SearchString').tagsinput(ingredient);
        }).trigger('change');
    });
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>

<link href="https://cdn.jsdelivr.net/bootstrap.tagsinput/0.8.0/bootstrap-tagsinput.css" rel="stylesheet" />
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
    <script src="https://code.jquery.com/jquery-3.2.1.js"></script>
    <script src="https://cdn.jsdelivr.net/bootstrap.tagsinput/0.8.0/bootstrap-tagsinput.min.js"></script>
    
    
   <input class="form-control" id="SearchString" data-role="tagsinput" name="SearchString" type="text" value="">

最佳答案

这是您修改后的代码片段:

$(document).ready(function () {
      $checks = $(":checkbox");
      $checks.on('change', function () {
          $('#SearchString').tagsinput('removeAll');
          $checks.filter(":checked").each(function( index ) {
              $('#SearchString').tagsinput('add', this.value);
          });
     }).trigger('change');
});
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>

<link href="https://cdn.jsdelivr.net/bootstrap.tagsinput/0.8.0/bootstrap-tagsinput.css" rel="stylesheet" />
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
    <script src="https://code.jquery.com/jquery-3.2.1.js"></script>
    <script src="https://cdn.jsdelivr.net/bootstrap.tagsinput/0.8.0/bootstrap-tagsinput.min.js"></script>
    
    
   <input class="form-control" id="SearchString" data-role="tagsinput" name="SearchString" type="text" value="">

<div class="checkbox">
  <label><input id="chk1" type="checkbox" value="ingredient1">ingredient 1</label>
</div>
<div class="checkbox">
  <label><input id="chk2" type="checkbox" value="ingredient2">ingredient 2</label>
</div>
<div class="checkbox disabled">
  <label><input id="chk3" type="checkbox" value="ingredient3">ingredient 3</label>
</div>

这里提供了一个改进的版本,使用对象而不是纯文本作为标签:https://jsfiddle.net/beaver71/v44mnn31/16/

在此示例中,当删除标签输入中的标签时,相关复选框中的该标签将被取消选中。

关于jquery - 未捕获的 TypeError : $(. ..).tagsinput 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47779971/

相关文章:

javascript - 无法使用 ESRI Javascript API 和 html2canvasa 打印 map div

java - 为什么我的应用程序崩溃(复选框)

recursion - Common-Lisp 中的递归阶乘函数

javascript - 更新(编辑)单个输入字段 php js

algorithm - 有没有不依赖于 n(输入的大小)的算法?

javascript - 从 XSD 创建 Web 表单,然后输出 xml 表单

jquery - 使用wordpress按时间间隔和将鼠标悬停在链接上时更改图像

javascript - 第二次复选框不起作用

javascript - 在 href 之前执行 click() 函数中的方法

css - 如何使用 CSS 在表单中设置我的复选框的格式?我想要一个简单的外观和感觉