下面的这个标签系统非常适合我:
我想向该标签系统添加一些功能。首先,在制作标签之前,我想在输入框时加载标签。例如,我有如下所示的PHP数组:
$tags = array(1 =>'hello', 'hi', 'name', 'surname');
因此,如果框内的文本适合数组中的标签之一,则可以按Enter键制作一个标签...我认为最好通过Ajax进行操作,因为所有标签都可以在其中数据库...
我曾尝试自己做过,搜索过google,但没有发现我实际需要的东西。
PS如果您不明白这个问题:请记住stackoverflow的标记系统...。
允许的标签是奶酪,土豆和泡菜(allowedTags数组中的任何内容)
tags = [];
allowedTags = ["cheese","potato", "pickle"];
$("#textBox").keypress(function (e) {
if (e.which === 13) {
if (allowedTags.indexOf(this.value) !== -1){
$(".target").append("<a href='#' class='tag' >" + this.value+'<span class="cross">X</span>'+ "</a>");
tags.push(this.value);
this.value = "";
}else{
alert("not allowed tag");
}
}
});
$('body').on('click','.cross',function(){
tags.splice($(this).parent('a').html(), 1);
$(this).parent('a').remove();
});
$( "#textBox" ).autocomplete({
source: allowedTags
});
如果“ allowedTags”中没有匹配的标签,则if语句“ allowedTags.indexOf”将返回-1。
然后,您所需要做的就是从数据库中填充允许的标签-您可以通过ajax调用或(如果列表少于100个标签)执行此操作,我想说一次在页面加载时填充数组会更有效。
根据OP的要求,添加了自动完成功能,以使其成为一个完整的解决方案。
笔记!!!-这是假设您包含了jquery-ui
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句