2016-06-01 10 views
0

だから、フィルターがタイプされたキーワードから最も関連性の高いオプションを最初に表示するように、ブートストラップduallistプラグインを変更する必要がありました。フィルタオプションは、その後、私はオプションを選択し、選択したボックスにそれらを配置するまで、それは罰金作品ブートストラップデュアルリスト - javascriptで手動でオプションを選択しますか?

bootstrap dual list

(それは、テキストの色はなどの関連性に基づいています)箱の中に強調表示されます。オプションをクリックすると、jqueryを使用して 'selected'属性を追加しようとしました。

var nonselectedBox = $("#bootstrap-duallistbox-nonselected-list_bundle") 
nonselectedBox.find("option").removeAttr("selected"); 
$(this).find("li.selected").each(function() { 
    nonselectedBox.find("option[value='" + $(this).text() + "']") 
     .attr("selected", "selected"); 
}); 

これはうまくいき、jquery dom grabによって変更されたすべてのオプションが表示されます。移動矢印を押すと、選択されたリストにオプションが追加されません。

私はマニュアルを読みましたが、手動でオプションを選択する機能はありません。だから私はこれをどのようにすることができますか?

答えて

0

ので、このコードを有する複数の問題

  1. 選択された項目が存在した元の複数の選択入力を介して追加または削除される必要があります。
    したがってvar nonselectedBox = $("#bootstrap-duallistbox-nonselected-list_bundle")$("#list_bundle")である必要があります。
  2. $ .removeAttr関数nonselectedBox.find("option").removeAttr("selected");は、このプラグインの対話を完全に廃止しました。このコマンドを実行すると、プラグインが更新されないことがわかりました。
    これを行うための正しい方法は、それを削除するのではなく、属性をクリアすることです:私は完全にこのプラグインを使用してドロップすると、自分自身を書くことを決めたと述べた

nonselectedBox.find("option").attr("selected",false);。デュアリストは単一の目的のためだけに意図されているので、カスタマイズすることは非常に困難です。
フィルタリングに必要な結果の量も、処理できる量よりもはるかに多いようです。 「表示」の複数選択を破棄して再作成する効率は非常に恐ろしいもので、オプションがフィルタリング、選択、および選択解除されるたびにInternet Explorerが5秒間フリーズします。

関連する問題