2

Web アプリケーションで 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

ありがとうございました。

4

1 に答える 1

4

要素をクリアするためにwikiを調べる方法が見つかりません。

プラグインは選択から開始しますが、ソース リストとターゲット リストの 2 つの異なる ul-li をレンダリングすることを考慮してください。したがって、選択したオブジェクトをクリアすると、選択がクリアされますが、既にレンダリングされた ul-li はクリアされません

次の 2 つの方法があると思います。

  1. destroy and reinit : コントロールを破棄して再初期化できます。結果としてリストはクリアされます (ウィジェットは destroy メソッドを実装する必要があり、実際に実装されています)
  2. リストをクリアします: jQuery を使用して 2 つの ul-li をクリアします。

最初の方法(私はこれを好みます):

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

2番目の方法(少しハック):

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

これは、2つの方法で機能するフィドルです:http://jsfiddle.net/IrvinDominin/GVKFB/

于 2013-06-05T10:31:03.457 に答える