关键字的添加

关键字的添加

1、建议将css样式内容在放一个单独的css文件中,这里以keywordinput.css为例

 1 #keyword-container {
 2     border:1px solid #bbb;
 3     width:700px;
 4 }
 5 #keyword-exists {
 6     display:none;
 7 }
 8 input.keyword-input {
 9     border:none;
10     width:298px;
11     color:#aaa;
12     height:28px;
13 }
14 div.keyword-in {
15     float:left;
16     font-size:12px;
17     margin:3px;
18     background:#3fa7cb;
19     padding:3px;
20     color:#fff;
21 }
22 a.keyword-shut:link,a.keyword-shut:visited {
23     margin-left:3px;
24     color:#fff;
25     text-decoration:none;
26 }
27 a.keyword-shut:hover {
28     color:#732;
29 }

 2、这里将js以插件的方式放在jquery.keywordinput.js文件中

   关键字的数量只能为5个,根据需要可以以参数的方式修改数量,并且不能添加相同的关键字

 1 (function($){
 2     var setting;
 3     $.fn.keywordinput = function(opts) {
 4         setting = $.extend({
 5             number:5,
 6             msg:"请输入关键字,通过逗号或者回车确认",
 7             autocomplete:{
 8                 enable:false,
 9                 url:"#",
10                 minLength:1
11             },
12             exists_id:"keyword-exists"
13         },opts||{});
14         init(this);
15         if(setting.autocomplete.enable) {
16             $(this).autocomplete({
17                 source:setting.autocomplete.url,
18                 minLength:setting.autocomplete.minLength
19             });
20         }
21         $(this).keydown(inputKeyword);
22         /**
23          * 通过事件委派处理
24          */
25         $("#keywords-wrap").on("click","a.keyword-shut",function(event){
26             $(this).parent(".keyword-in").remove();
27             event.preventDefault();
28         });
29     }
30     function initAddKeyword() {
31         $("#"+setting.exists_id+" span").each(function() {
32             var ki = createKeyword($(this).html());
33             $("#keywords-wrap").append(ki);
34         })
35     }
36     function init(input) {
37         $(input).val(setting.msg);
38         $(input).addClass("keyword-input");
39         $(input).wrap("<div id=‘keyword-container‘></div>")
40                 .before("<div id=‘keywords-wrap‘></div>");
41         initAddKeyword();
42         $(input).focus(function(){
43             $(this).val("");
44         });
45         $(input).blur(function(){
46             $(this).val("请输入关键字,通过逗号或者回车确认");
47         });
48     }
49     function inputKeyword(event) {
50         var code = event.keyCode;
51         if(code==188||code==13) {
52             var c = $(this).val();
53             if(c!="") {
54                 if($(".keyword-in").length>=setting.number) {
55                     alert("最多只能允许添加"+setting.number+"个关键字");
56                     event.preventDefault();
57                     return false;
58                 }
59                 var aks = $("input[name=‘aks‘]");
60                 for(var i=0;i<aks.length;i++) {
61                     if($(aks[i]).val()==c) {
62                         alert("不能添加重复的关键字");
63                         event.preventDefault();
64                         return false;
65                     }
66                 }
67                 var ki = createKeyword(c);
68                 $("#keywords-wrap").append(ki);
69                 $(this).val("");
70             }
71         }
72     }
73     function createKeyword(val) {
74         return "<div class=‘keyword-in‘><span>"+val
75         +"</span><a href=‘#‘ class=‘keyword-shut‘>×</a><input type=‘hidden‘ name=‘aks‘ value=‘"+val+"‘/></div>";
76     }
77 })(jQuery)

3、在HTML或者JSP中,只需要一个input元素即可:
1 <input type="text" id="keyword-input" value="" />
4、引入刚才创建的css和js文件,同时还需要引入jQuery文件,添加页面加载事件,实例:
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <meta charset="UTF-8">
 5 <title>Insert title here</title>
 6 <link rel="stylesheet" type="text/css" href="keywordinput.css"/>
 7 <script type="text/javascript" src="jquery-3.2.1.min.js"></script>
 8 <script type="text/javascript" src="jquery.keywordinput.js"></script>
 9 <script type="text/javascript">
10     $(function(){
11         $("#keyword-input").keywordinput();
12     });
13 </script>
14 </head>
15 <body>
16 <input type="text" id="keyword-input" value="" />
17 </body>
18 </html>

				
时间: 2024-10-23 22:26:37

关键字的添加的相关文章

SharePoint 2013——重复的管理账户错误:已添加项。字典中的关键字 所添加的关键字

?? 博客地址:http://blog.csdn.net/FoxDave 今天在管理中心创建新的Web应用程序时,想注册一个新的管理账户,一着急点了两次按钮,结果就出现了这样的错误...怎么说呢,太奇葩了,所以记录一下. 至此,点击新建菜单创建新的Web应用程序不能了... 既然管理账户重复了,首先尝试在界面上去删除:管理中心->安全性->一般安全性->配置管理账户,这里确实有两个一模一样的,但是点删除按钮一样报错,看来只好通过PowerShell操作了... 登录到SharePoint

2 - SQL Server 2008 之 使用SQL语句为现有表添加约束条件

上一节讲的是直接在创建表的时候添加条件约束,但是有时候是在表格创建完毕之后,再添加条件约束的,那么这个又该如何实现? 其实,跟上一节所写的SQL代码,很多是相同的,只是使用了修改表的ALTER关键字及添加约束的ADD CONSTRAINT关键字而已,其他大同小异. 代码如下: USE PersonInfo --使用PersonInfo数据库 GO IF EXISTS (SELECT * FROM sys.tables WHERE [name] = 'Employee ') --如果存在Emplo

Swift标识符和关键字

任何一种计算机语言都离不开标识符和关键字,下面我们将详细介绍Swift标识符和关键字. 标示符 标识符就是给变量.常量.方法.函数.枚举.结构体.类.协议等指定的名字.构成标识符的字母均有一定的规范,Swift语言中标识符的命名规则如下: 区分大小写,Myname与myname是两个不同的标识符: 标识符首字符可以以下划线(_)或者字母开始,但不能是数字: 标识符中其他字符可以是下划线(_).字母或数字. 例如,identifier.userName.User_Name._sys_val.身高等

第十三节(super关键字、final关键字、抽象类))

super 关键字的作用: 调用父类的构造方法 调用父类的成员方法 需要注意:super 只能应用在成员方法和构造方法中,不能应用在静态方法中(和 this 是一 样的) ,如果在构造方法中使用必须放在第一行 为什么会有 super 关键字? 因为子类必须要调用父类的构造方法,先把父类构造完成,因为子类依赖于父类,没有父,也就没有子有时需要在子类中 显示的调用父类的成员方法 那么我们以前为什么没有看到 super,而且我们也有继承,如:Student 继承了 Person ? 因为子类中我们没有

Robot Framework--06 用户关键字User Keyword

转自:http://blog.csdn.net/tulituqi/article/details/7906130 在我们做自动化案例的时候,用的最多的主要是用户关键字.说到关键字,大体上可以分为测试库关键字(或叫系统关键字)和用户关键字,前者一般都是通过加载Library得到的,而用户关键字一般都是通过加载Resouce得到的. 以之前的这个case为例: 图中的Import Variables和log都是测试库关键字,而搜索测试这个就是用户关键字,只要RIDE的版本高一些,就能看出他们的颜色是

sphinx关键字套红

sphinx定义搜索结果,搜索的内容着重显示,可以使用下面代码 1 <?php 2 /** 3 * Created by PhpStorm. 4 * User: pc00001 5 * Date: 2015/4/10 6 * Time: 14:18 7 */ 8 header('Content-type:text/html;charset=utf-8'); 9 include_once('sphinxapi.php'); 10 11 $sp = new SphinxClient(); 12 13

Static(静态)关键字

通过函数改变内部属性的值: 1 <?php 2 3 class Human{ 4 public $name; 5 protected $height; 6 public $weight; 7 private $isHungry = true; 8 9 } 10 11 12 class NbaPlayer extends Human{ 13 14 public $team="Bull"; 15 public $playerNumber="23"; 16 17 p

抽象类和虚方法、base关键字

微软官方文档:https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/classes-and-structs/abstract-and-sealed-classes-and-class-members 抽象类和类成员 通过在类定义前面放置关键字 abstract,可以将类声明为抽象类. 例如: public abstract class A { // Class members here. } 抽象类不能实例化. 抽象类的

Jmeter添加压力机

前提: ???????????????? 1.控制和其他负载机可以互相ping通 2.所有作为负载机的电脑都配置jmeter环境. 3.负载机尽量将防火墙关闭. ? ? 操作步骤: ???? 1.在配置文件C:\Program Files\apache-jmeter-4.0\bin\jmeter.properties里面检索remote关键字,添加负载机IP地址和端口号,端口号默认1099,多个负载机之间用逗号隔开. ???????????????? remote_hosts=127.0.0.1