3

ウィザード ダイアログに 2 セットの dojo.form.Multiselect ボックスがあります。この例のように、それらの間でアイテムを転送する機能があります:ウィジェットからの複数選択のテスト。また、フォームにチェックボックスがあり、ユーザーがそれをクリックしたときに、次のことを行う必要があります。

  1. 最初の複数選択ボックスですべての項目を選択します
  2. addSelected() を介して右側の選択ボックスに移動します。
  3. すべてのアイテムの最初のリストをクリアする

チェックボックスをクリックしたときに項目が選択されている場合、選択されていない項目のみが選択されて移動されるため、invsertSelection オプションは機能しません。APIでこれを行う方法も、コードスフィアでの信頼できる方法もわかりません。助言がありますか?

4

2 に答える 2

4

Dojo Docs およびその他のコードを見て解決策を見つけました。

var selectItem1 = dijit.byId('firstSelectBox');

// Deselect all and invert to Select all
selectItem1.set("value",[]);
selectItem1.invertSelection();

//Move items to right box
var selectItem2 = dijit.byId('secondSelectBox');
selectItem2.addSelected(selectItem1);
于 2012-06-08T20:25:02.430 に答える