`
shuai1234
  • 浏览: 933448 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

jQuery Tags Input Plugin(添加/删除标签插件)

 
阅读更多

看名字应该知道是干嘛用了吧。

一个jquery开发的标签功能加强插件,可以生成或删除标签,还能对输入重复标签进行检查,和JQuery autocomplete插件配合实现自动完成功能。

 官网:http://xoxco.com/projects/code/tagsinput/

截图:

(下面是翻译了官网上的用法,英文不是很好,有能力的尽量看官网吧)

首先,引用下面两个文件

<script src="jquery.tagsinput.js"></script>
<link rel="stylesheet" type="text/css" href="jquery.tagsinput.css" />

在你的表单里创建一个包含tags列表的input输入框,你可以在value里设置默认或目前有的tags,并用逗号隔开。

<input name="tags" id="tags" value="foo,bar,baz" />

然后,简单地给任何一个输入标签调用tagsInput()函数,它便会被当作一个tags列表处理

$('#tags').tagsInput();

如果你想使用jQuery.autocomalete(自动完成插件)配合使用,那么在函数里增加一个带autocomplete url的参数。

$('#tags').tagsInput({
  autocomplete_url:'http://myserver.com/api/autocomplete'
});

如果你使用了bassistance.de这个网站上的jQuery.autocomplete插件,还可以增加额外的参数来加强autocomplete插件,就像下面描述的这样。

$('#tags').tagsInput({    
  autocomplete_url:'http://myserver.com/api/autocomplete',
  autocomplete:{selectFirst:true,width:'100px',autoFill:true}
});

PS:需要注意的是,demo里默认用的是jquery ui autocomplete,如果你想要测试jquery.autocomplete,要把头部被注释掉的引用文件去掉注释,并将$('#tags').tagsInput({})中autocomplete_url的地址改为相应的jquery.autocomplete的文件。具体看页面上有说明。

你还可以使用addTag() and removeTag()函数增加和删除掉标签,如以下:

$('#tags').addTag('foo');
$('#tags').removeTag('bar');

你还可以用imporTags()方法导进一组tag列表,需要注意的是这样会将value里设置的默认tag替换掉

$('#tags').importTags('foo,bar,baz');

所以如果importTags()里不带值的话,就是重置input里的标签值(注意引号要保留,可以理解为给它传空值。

$('#tags').importTags('');

可以使用tagExist()判断一个标签是否存在:

if ($('#tags').tagExist('foo')) { ... }

如果想要在增加或移除掉标签的时候增加额外的功能或触发其它动作,你可以通过onAddTag和onRemoveTag这两个参数里指定回调函。这两个函数都返回了一个标签值作为参数(原文: Both functions should accept a single tag as the parameter.)

复制代码
$('#tags_1').tagsInput({
                width:'auto',
                onAddTag:function(tag){
                    console.log('增加了'+tag)
                },
                onRemoveTag:function(tag){
                    console.log('删除了'+tag)
                }
            });
复制代码

如果你想禁止增加标签,或者你想提供其它交互方式增加标签,可以增加一个值为false的interactive参数,这样就禁止了增加标签,而其它的功能和呈现都跟原来一样。

复制代码
$('#tags_1').tagsInput({
                width:'auto',
                onRemoveTag:function(tag){
                    console.log('remover'+'"'+tag+'"')
                },
                interactive:false
            });
复制代码

如果你想要在每次增加/删除一个标签的时候调用一个函数,可以增加onChange的参数,并设置回调函数

默认情况下,如果鼠标位于一个标签后面,按退格键会删除掉那个标签。如果你想禁止这个,设置removeWithBackspace参数为false即可。

参数:

复制代码
$(selector).tagsInput({
   'autocomplete_url': url_to_autocomplete_api, //自动完成插件的文件地址,demo里有说明
   'autocomplete': { option: value, option: value}, //自动完成插件的参数,demo有说明。(提供个jquery.autocomplete的:http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/)
   'height':'100px', //设置高度
   'width':'300px',  //设置宽度
   'interactive':true, //是否允许添加标签,false为阻止
   'defaultText':'add a tag', //默认文字
   'onAddTag':callback_function, //增加标签的回调函数
   'onRemoveTag':callback_function, //删除标签的回调函数
   'onChange' : callback_function, //改变一个标签时的回调函数
   'removeWithBackspace' : true, //是否允许使用退格键删除前面的标签,false为阻止
   'minChars' : 0, //每个标签的小最字符
   'maxChars' : 0 //每个标签的最大字符,如果不设置或者为0,就是无限大
   'placeholderColor' : '#666666' //设置defaultText的颜色
});
复制代码
分享到:
评论

相关推荐

    jQuery Tags Input Plugin(添加/删除标签插件)详解

    本文主要介绍jQuery Tags Input Plugin添加/删除标签插件的用法,非常实用,有需要的朋友可以参考一下。

    jQuery添加/删除标签插件jQuery Tags Input Plugin

    一个jquery开发的标签功能加强插件,可以生成或删除标签,还能对输入重复标签进行检查,和JQuery autocomplete插件配合实现自动完成功能。演示地址:http://www.jq22.com/jquery-info426

    jquery-tagsinput-revisited:流行的jQuery标签输入插件的重新版本

    在此处查看原始项目: : jQuery Tags Input Revisited Plugin是先前插件的改进和固定版本。 还对其进行了调整以匹配当前的Web标准。 用jQuery编写的简单标签编辑。 原始描述:您是否使用标签来组织网站内容? 这个...

    Bootstrap4 UI 后台模板

    Bootstrap Tagsinput https://github.com/bootstrap-tagsinput/bootstrap-tagsinput Chart JS http://www.chartjs.org/ Chartist http://www.chartjs.org/ CodeMirror http://codemirror.net/ DataTables ...

    jenkins常用插件包

    JQuery3 API Plugin JSch dependency plugin JUnit LDAP Plugin Localization Support Plugin Localization: Chinese (Simplified) Lockable Resources plugin Mailer Plugin Matrix Authorization Strategy Plugin ...

    Bootstrap ACE后台管理界面模板(扁平化)

    网页图标全采用FontAwesome,除Bootstrap,jQuery UI使用到的第三方插件有: jQuery 2.0.3 jQuery UI 1.10.3 (Custom Build) Twitter Bootstrap 3.0.0 FontAwesome 3.2.1 Google "Open Sans" Font jQuery Flot ...

    ACE Admin官方文档(最新)

    网页图标全采用FontAwesome,除Bootstrap,jQuery UI使用到的第三方插件有: jQuery 2.0.3 jQuery UI 1.10.3 (Custom Build) Twitter Bootstrap 3.0.0 FontAwesome 3.2.1 Google "Open Sans" Font jQuery Flot ...

    simple-tags

    * The Simple Tags auto completion replace default WordPress Tags input. * Restore administration options. * Better management of Simple Tags with WP_Scripts and WP_Styles * Add an option for auto ...

    bootstrap ace_admin1.3.1 (最新版)

    jQuery Input Limiter jQuery AutoSize Bootstrap Colorpicker Bootstrap Datepicker Bootstrap Timepicker Bootstrap DateRange Picker Bootstrap Date-Time Picker Bootbox.js jQuery Gritter jQuery slimScroll ...

    浮点vfdsfJAVA实现链表,双向链表.txtJAVA实现链表,双向链表.txt

    一旦发现将被删除&lt;/dd&gt; * 请勿在未经授权的情况下上传任何涉及著作权侵权的资源,除非该资源完全由您个人创作&lt;/dd&gt; * 点击上传资源即表示您确认该资源不违反资源分享的使用条款,并且您拥有该资源的所有版权...

    liuxy-metronic3:基于metronic3.5后台模板的压缩优化版本

    基于metronic3.5的前后台简化...jquery.tagsinput.css jquery.nestable.css theme.min.css 包含以下插件: 包含layout.css、metronic的plugin.css、圆角样式components-rounded.css 默认使用metronic的layout模板+da

    jpi.tar.gz

    tool.jpi', 'jenkins-multijob-plugin.jpi', 'jquery-detached.jpi', 'jquery-ui.jpi', 'jquery.jpi', 'jsch.jpi', 'junit.jpi', 'ldap.jpi', 'localization-zh-cn.jpi', 'lockable-resources.jpi', 'mailer.jpi', '...

    ros by example for indigo volume 2

    当前大多数搞机器人开发的用户所装的ROS是indigo版本,而且是基于Ubuntu14.04的。如果你跑别的版本的rbx代码老出错,不用怀疑,就是代码版本问题!ros by example for indigo volume 1很多地方(包括CSDN)都可以...

Global site tag (gtag.js) - Google Analytics