未定义的函数初始化标签输入引导程序 3.
undefined function initializing taginput bootstrap 3
我正在尝试为引导程序 3 实现 TagInput,但当我尝试初始化它时,它给了我一个错误Uncaught TypeError: Property 'undefined' of object #<TagsInput> is not a function
这是我如何调用脚本
<script src='<?php echo base_url() ?>resources/js/jquery-1.7.2.min.js' type='text/javascript'></script>
<script src='<?php echo base_url() ?>resources/js/bootstrap.js' type='text/javascript'></script>
<script src='<?php echo base_url() ?>resources/js/bootstrap-tagsinput.js' type='text/javascript'></script>
<script> $('.tagplayer').tagsinput();</script>
形式
<input type="text" class="tagplayer">
编辑:我目前不再使用此插件,我需要建议接受正确答案。
我遇到了同样的问题。愿作者经过一些修改后忘记测试。打开 bootstrap-tagsinput.js,在最后一行你可以看到以下代码;
$(function() {
$("input[data-role=tagsinput], select[multiple][data-role=tagsinput]").tagsinput();
});
如您所见,在此 js 代码中,调用tagsinput()
函数。因此,包括代码中对tagsinput()
的调用,有 2 次调用 tagsinput()
。
因此,在第 357 行,注册tagsinput()
作为 jquery 插件,初始化失败。
要解决此问题,请注释上面的代码。(但也许你可以使用一些功能,但不是进口的
无论如何,您还需要包括bootstrap-tagsinput.css
。
在 GitHub 上看到这个问题:https://github.com/TimSchlechter/bootstrap-tagsinput/issues/52
帮助我的解决方法:
<input type="text" id="tags">
<script>
var tags = $('#tags')
tags.tagsinput();
tags.tagsinput('input').typeahead({
prefetch: 'prefetch.json'
}).bind('typeahead:selected', $.proxy(function (obj, datum) {
tags.tagsinput('add', datum.value);
tags.tagsinput('input').typeahead('setQuery', '');
}, $('input')));
</script>
我在选择正确的插件时也遇到了问题。最后,我只是自己实现了标签输入,这并不难。法典:
.HTML:
<p>Tags : </p><input type="text" name="irrelevant" id="tags" placeholder="add tag">
JavaScript(JS) :
var id=1;
function remove(id) {
var element = document.getElementById(id);
element.parentNode.removeChild(element);
}
function addTag(e,name) {
if (!e) e = window.event;
var keyCode = e.keyCode || e.which;
var entry=document.getElementById(name);
entry.value=entry.value.toLowerCase();
if (keyCode == '8' && entry.value.length==0) {
if (entry.previousSibling.className=="btn btn-secondary margin") {
entry.previousSibling.parentNode.removeChild(entry.previousSibling)
}
return;
}
if (keyCode != '13' || !/[a-z]$/.test(entry.value) || document.getElementById(name+"_"+entry.value) != null) {
return;
}
var id;
var btn = document.createElement("button");
var t = document.createTextNode(entry.value);
btn.appendChild(t);
btn.setAttribute("id",name+"_"+entry.value)
btn.className="btn btn-secondary margin"
btn.setAttribute("onclick","remove('"+name+"_"+entry.value+"')")
var insertedNode = entry.parentNode.insertBefore(btn, entry);
entry.value=""
}
document.getElementById('tags').onkeypress=function(e) { addTag(e,"tags"); }
基本上,您只是检查是否按下了键并且条目的格式是否正确,并相应地在条目之前添加标签,这些标签只是按钮。仅使用纯 JS。
相关文章:
- 从可编辑的引导程序中获取输入值
- krajee引导程序文件输入上传
- 如何在引导程序中将输入文本框嵌入到图像的顶部
- 清除引导程序中的表单输入字段
- 将当前日期作为占位符最初放置在输入字段日期选取器引导程序中
- 引导程序 3 调整表数据和输入字段的大小
- Krajee 引导程序文件输入 maxFileCount of Images.
- 在角度 ui 引导程序中获取表单输入/数据
- 日期时间选择器引导程序获取值并将其用作输入未定义的错误
- 未定义的函数初始化标签输入引导程序 3.
- 向引导程序标记输入元素添加标记时发生类型错误:f[c]
- 引导程序/标记输入应用于所有表单字段/未正确显示
- 需要禁用引导程序时间选择器的输入
- 使用javascript addevent监听器在引导程序html表单上输入验证
- 输入文本不'不要使用引导程序日期选择器
- js变量或用户输入来更改引导程序日期选择器中的DateFormat
- 为什么显示在其他地方的引导程序输入会立即消失
- 使用jQuery引导程序添加删除输入框
- 引导程序标记输入源不工作
- 禁用输入,直到使用引导程序验证器验证以前的输入