Javascript 自动完成删除值

Javascript 自动完成删除值,javascript,jquery,autocomplete,jquery-tags-input,Javascript,Jquery,Autocomplete,Jquery Tags Input,我正在使用autocomplete和“”插件,我遇到了一个无法解决的问题。所选类别在隐藏字段(#cat id)中传递一个值,但在移除类别时,我无法删除该值 我希望在从输入中删除类别时,也删除隐藏字段中的类别值 $(文档).ready(函数(e){ //初始化标签输入 $('.input tags').tagsInput({width:'auto',height:'auto'}); $('form[name=form_add]')。关于('submit',(函数(e){ e、 预防默认值();

我正在使用autocomplete和“”插件,我遇到了一个无法解决的问题。所选类别在隐藏字段(#cat id)中传递一个值,但在移除类别时,我无法删除该值

我希望在从输入中删除类别时,也删除隐藏字段中的类别值

$(文档).ready(函数(e){
//初始化标签输入
$('.input tags').tagsInput({width:'auto',height:'auto'});
$('form[name=form_add]')。关于('submit',(函数(e){
e、 预防默认值();
var formData=新formData(本);
变量形式=$(此);
$.ajax({
类型:'POST',
url:'crud.php',
数据:formData,
cache:false,
contentType:false,
processData:false,
成功:功能(msg){
控制台日志(msg);
},
});
}));
var data=[{“value”:“1”,“label”:“PHP”},{“value”:“2”,“label”:“Python”},{“value”:“3”,“label”:“Java”},{“value”:“4”,“label”:“ActionScript”},{“value”:“5”,“label”:“LUA”}];
//控制台日志(数据);
$('example-tags'u tag')。自动完成({
资料来源:数据,
焦点:功能(事件、用户界面){
$(#example-tags_-tag”).val(ui.item.label);
返回false;
},
选择:功能(事件、用户界面){
tagExist=函数(c){
变量d=“#类别id”,
e=$(“#cat id”).val().split(',');
返回jQuery.inArray(c,e)>=0
}
var verid=tagExist(ui.item.value);
如果(verid!=1){
如果($(“#cat id”).val()!=”)
{
$(“#cat id”).val($(“#cat id”).val()+,'+ui.item.value);
}
其他的
{
$(“#cat id”).val(ui.item.value);
}
}
否则{
$(“#cat id”).val();
}
返回false;
}
});       
});
/*
==============================================
(#14tis)Jquery标记输入
==============================================
*/
分区标记输入{
背景:#ffffff;
宽度:100%;
高度:自动;
填充:6px 8px 0;
边框:1px实心#dbe1e8;
边界半径:4px;
}
div.tags输入span.tag{
边框:1px实心#1bbae1;
背景色:#1bbae1;
颜色:#ffffff;
字号:600;
边界半径:2px;
显示:块;
浮动:左;
填充:0 20px 0 5px;
高度:20px;
线高:18px;
文字装饰:无;
保证金权利:4px;
边缘底部:6px;
字体大小:12px;
位置:相对位置;
}
div.tags输入span.tag a{
位置:绝对位置;
颜色:#ffffff;
显示:块;
排名:0;
右:5px;
字体大小:粗体;
文字装饰:无;
字体大小:12px;
线高:16px;
高度:20px;
宽度:10px;
文本对齐:居中;
}
div.tags输入span.tag a,
div.tags输入span.tag a:悬停,
div.tags输入span.tag a:焦点{
颜色:#ffffff;
文字装饰:无;
}
div.tagsinput输入{
宽度:80px;
边际:0px;
字体系列:helvetica;
字体大小:12px;
边框:1px实心透明;
填充:0 5px;
高度:20px;
线高:20px;
背景:透明;
大纲:0;
保证金权利:4px;
边缘底部:6px;
}
div.tagsinput div{
显示:块;
浮动:左;
}
分区标记输入:之前,
分区标记输入:之后{
内容:“;
显示:表格;
}
分区标记输入:之后{
明确:两者皆有;
}
.无效{
背景:#fbd8db!重要;
颜色:#90111a!重要;
}

类别
e、 g.(PHP、Python、Java、ActionScript、LUA)
阿迪西奥纳
重置

有一个函数onRemoveTag用于标记输入,您可以使用该函数查找id元素并将其删除

这里的文档

我在这里创建了一个示例

我基本上已经使用该函数进行了搜索`

搜索数组

用于基于要删除的标记中的id值

function searchArray(nameKey, myArray) {
  for (var i = 0; i < myArray.length; i++) {
    if (myArray[i].label === nameKey) {
      return myArray[i].value;
    }
  }
  return "";
}
这里有一个jsfiddle


希望这有帮助

非常感谢。我喜欢这个解决方案。
 'onRemoveTag': function(data1) {
      var value = searchArray(data1, data);
      var e = $('#cat-id').val().split(',')
      var index = e.indexOf(value);
      if (index > -1) {
        e.splice(index, 1);
      }
      $('#cat-id').val(e.join(','))
      console.log($('#cat-id').val())
    }