0

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

谢谢并恭祝安康

4

1 回答 1

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

小心,因为当用户选择一个选项时,它会被自动删除。

于 2013-05-12T12:37:48.203 回答