我有这个阵列,
var metrics = [ { value: "1",label: "Sold Listings",desc: "sold_listings" },{ value: "10",label: "New Pendings",desc: "new_pendings" },{ value: "4",label: "All Pendings",desc: "all_pendings" },{ value: "2",label: "New Listings",desc: "new_listings" },{ value: "3",label: "Active Listings",desc: "active_listings" } ];
我想要做的是选择项目,例如我将选择活动列表,这个项目应该从数组中删除.因此,当自动完成再次呈现时,它将不会显示所选项目.
//My Idea of removing the item $.each(metrics,function(i,val){ if(val.value == ui.item.value){ delete metrics[i]; } });
解决方法
问题是您没有更新自动完成源.
要做到这一点,你必须使用以下行.
要做到这一点,你必须使用以下行.
$(‘.yourAutocomplete’).autocomplete(‘option’,’source’,yourArray);
因此,在自动完成选择事件上:
假设#autocomplete是您的输入.
select: function(e,ui) { metrics = jQuery.grep(metrics,function(element) { return element.value != ui.item.value; }); $('#autocomplete').autocomplete('option','source',metrics) return false; }
参考: