1

我正在使用 jQuery 可搜索选择插件http://effinroot.eiremedia.netdna-cdn.com/repo/plugins/forms-controls/searchabledropdown/index.html

如果我在一个页面上有少量选择但是我有很多选择(一页上可以有几个 100),这很好用。当我初始化插件(通过类或循环通过 ID)时,它需要很长时间(约 10 秒)并消耗所有系统资源。

当我运行设置代码时,我遇到了问题,例如:

$(document).ready(function() {
   $("select").searchable();
});

我的选择实际上是相同的两个重复多次。我尝试使用一个选择进行初始化(这要快得多)并复制然后复制它(通过 HTML 和 jQuery clone()),但是复制的实例不可搜索。

有没有办法减少为大数字初始化插件或重复选择所需的时间?

4

1 回答 1

1

调用克隆时是否将 withDataAndEvents 作为 true 传递?我认为 .clone(true) 应该可以工作。确保在您要克隆的选择已可搜索后进行克隆。

$(document).ready(function() {
    var clone_src = $('#originalSelectUser');
    $(clone_src).searchable({        });
    $(".dest").each(function(i) {
        $(clone_src).clone(true).attr('id', 'clone'+i).appendTo('#enddiv');
    });  
});

另一个想法可能是制作您需要的两个,仅隐藏。然后,当一个选择被聚焦时,将它与匹配的隐藏选择的克隆交换。如果克隆不起作用,您可能需要在克隆后使用 .searchable() 调用对其进行初始化,但您不必这样做。

于 2013-04-22T13:37:13.123 回答