jquery选项列表删除项目

时间:2013-06-05 09:56:03

标签: jquery-ui jquery-plugins

我在我的网络应用程序中使用jquery选项列表。我需要不时地刷新它的内容,每次我这样做时,列表中的所有项都是重复的。

我使用的代码是:

addAssetsToModal = function(assets){
        $("#pckAssets").empty();
        assets.each(function(asset){
            $("#pckAssets").pickList("insert",
                {
                    value: asset._id._oid,
                    label: asset.name,
                    selected: isAssetOnDashboard(asset._id._oid)
                });
        });
    },

在添加项目之前,我想删除任何现有项目。

我的尝试:

$("#pckAssets").empty(); //doesn't work
$('#pckAssets option').remove();  //doesn't work

谢谢。

1 个答案:

答案 0 :(得分:4)

我找不到任何方式查看wiki以清除元素。

考虑插件从select开始,但为源列表和目标列表呈现两个不同的ul-li。 因此,如果清除选择对象,则清除选择,但不清除已经渲染的ul-li

我认为有两种方式:

  1. 销毁并重新启动:您可以销毁并重新启动控件;列表会 因此被清除(小部件必须实现destroy方法,而且确实如此)
  2. 清除列表:使用jQuery清除两个ul-li:
  3. 第一种方式(我更喜欢这个):

    $("#basic").pickList("destroy");
    $("#basic").pickList();
    

    第二种方式(有点hacky):

    $('.pickList_sourceList li').remove();
    $('.pickList_targetList li').remove();
    

    这是两种方式的工作小提琴:http://jsfiddle.net/IrvinDominin/GVKFB/