我正在使用jquery自动完成功能并且工作正常,我的要求是选择的值可以从下拉列表中删除,我该如何实现? js和html在
之下JS
var classes=[];
$.ajax({
url: "classes.htm",
dataType : "json",
success: function(data) {
var val = data;
var arr=val.toString().split(",");
for(var i=0;i<arr.length;i++)
{
classes.push(arr[i]);
}
}
,
error:function(jqXHR, textStatus, errorThrown){
alert(textStatus);
}
});
$( "#cls" ).autocomplete({
source: classes
});
$("#cls").bind("autocompleteselect", function(event, ui) {
});
HTML
<input type="text" name="cls" id="cls"/>
谢谢和问候
答案 0 :(得分:3)
当您选择列表中的一个元素时,只需覆盖自动填充元素的source
选项:
$("#cls").bind("autocompleteselect", function (event, ui) {
// Remove the element and overwrite the classes var
classes.splice(classes.indexOf(ui.item.value),1);
// Re-assign the source
$(this).autocomplete("option","source",classes);
});
请注意,因为当用户选择一个选项时,它会自动删除。