2013-06-05 46 views
2

我在我的web应用程序中使用jquery picklist。我需要不时刷新它的内容,并且每次我这样做时,所有项目都在列表中重复。jquery picklist删除项目

我使用的代码是这样的:

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 

谢谢。

+0

您需要清除容器或目标列表吗? –

回答

4

我找不到任何方式寻找wiki清除元素。

请考虑插件从选择开始,但为源和目标列表呈现两个不同的ul-li。 所以,如果你明确你的选择对象,你会清楚的选择,但不是已经呈现UL力的

我认为有两种方式:

  1. 破坏和重新初始化:您可以销毁重新控制;该名单将 被清除,这后果(小部件必须实现消灭methos,和它)
  2. 明确列表:清除这两个上行丽的使用jQuery:

第一种方式(我喜欢此):

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

方式二(有点哈克):

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

这里是一个工作摆弄两种方式:http://jsfiddle.net/IrvinDominin/GVKFB/

+0

第一种方法行不通,我得到“摧毁不是功能”的错误。我没有时间检查它,所以我做了第二种完美的工作方式。谢谢爱德华。 –

+0

@ZelterAdy很高兴为您服务!但第一种方法工作,检查小提琴:-) –

+0

我也有一个异常'TypeError:对象#有没有方法'_destroy'',当使用第一种方式,所以我尝试了第二种方式,然后问题是我因为调用'$(“#basic”)。pickList();'不会将它加回 –