从jquery自动完成中删除所选选项

时间:2013-05-12 12:11:29

标签: jquery jquery-ui jquery-autocomplete jquery-ui-autocomplete

我正在使用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"/>

谢谢和问候

1 个答案:

答案 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);
});

请注意,因为当用户选择一个选项时,它会自动删除。