jquery将值存储在数组中并比较差异
jquery store value in array and compare differences
我正在使用autocomplete
,它运行得很好,但我似乎无法删除已经选择的值。我已经尝试过alert(usedTags)
,它肯定是在usedTags
中存储信息。我也尝试过alert($(availableTags).not(usedTags).get());
,它向我展示了我应该将其视为来源的差异。。。。但当我尝试添加另一个值时,它仍然显示了整个availableTags
数组。添加源时是否缺少某些内容?是否仅当函数在第一个autocomplete
上打开时才添加源?如果是,我如何在每次添加值时更新它。。。谢谢
$(function() {
var availableTags = [
"jimmy",
"barbie",
"belle",
"dylan",
"tony",
"lonnie"
];
var usedTags = [];
$("#labels").autocomplete({
source: $(availableTags).not(usedTags).get(),
minLength: 2,
select: function(e, ui){
e.preventDefault();
$("<span class = 'added' id = '"+ ui.item.id + "'>").html( ui.item.value).appendTo($(this).parent().find('.addvals'));
usedTags.push(ui.item.value);
$(this).val('');
//alert(usedTags);
//alert($(availableTags).not(usedTags).get());
}
});
});
编辑出于这个问题的目的,我简化了availableTags
数组,但我知道在跨度中获取id需要一个更复杂的数组。以防这对任何人来说都很突出。
使用Array.prototype.filter()
方法可以轻松完成此操作。
availableTags.filter(function(tag) {
return (usedTags.indexOf(tag) === -1);
});
相关文章:
- 需要帮助比较数组内的值,使用forEach循环
- 比较数组中的连续元素不会返回任何结果(javascript)
- 比较数组并使用条件对数组列表进行排序
- 比较数组JavaScript中的对象
- 比较数组中的元素,找出元素的最大和
- 使用JavaScript中的for each函数比较数组中的值
- 如何比较数组中的元素(javascript)
- 在 ie8 中使用茉莉花比较数组失败
- 比较数组慢
- 比较数组时遇到麻烦
- d3 本地存储比较数组 .filter 咖啡脚本;数组变量不起作用
- JavaScript 比较数组
- 如何声明和比较数组变量与其他选定变量
- 使用 .some() 比较数组
- 比较数组函数返回未定义
- 一个函数,用于比较数组中是否存在重复的数字
- Javascript 比较数组中的字符串
- 比较数组和 JSON 数据
- 在javascript中检查并比较数组中的数组
- 使用 indexOf() 比较数组中的字符