フォームに多くのアイテムを含む多数の DropDownChoice コンポーネントがあり、フォームをロードするときに、保存された選択されたオプションのみを表示したいと思います。ユーザーが DropDownChoice をクリックすると、その場で完全な項目リストを ajax ロードしたいと思います。
これはできますか?
フォームに多くのアイテムを含む多数の DropDownChoice コンポーネントがあり、フォームをロードするときに、保存された選択されたオプションのみを表示したいと思います。ユーザーが DropDownChoice をクリックすると、その場で完全な項目リストを ajax ロードしたいと思います。
これはできますか?
OnChangeAjaxBehavior
ドロップダウンコンポーネントにを追加します。onUpdate
-methodをオーバーライドし、ターゲットに別のコンポーネントを追加します。ドロップダウンコンポーネントの選択された値は、そのモデル内にあります。
更新:わかりました、私はあなたが何を達成しようとしているのか知っていると思います。AjaxFormComponentUpdatingBehavior
コンストラクターパラメーターとして「onclick」を使用して、ドロップダウンコンポーネントにを追加します。onUpdate
-methodをオーバーライドし、ドロップダウンコンポーネントをターゲットに追加します。その前に、ドロップダウンモデルを更新して、すべての値が含まれるようにします。
表示するオプションが多数ある場合、 <select> を使用するのは最適なオプションではありません。
http://ivaynberg.github.com/select2/またはhttp://livedocs.dojotoolkit.org/dijit/form/FilteringSelectまたは Ajax 経由でオンデマンドでオプションをロードできるその他の JS ベースのコンポーネントを確認してください。
おそらく、AjaxEditableLabel を使用できます... Wicket Extensions のAjaxEditableChoiceLabelを使用すると、クリックされるまで現在の値を Label として表示し、Ajax を介して DropDownChoice に変更するコンポーネントを取得できます。それは、あなたが探しているソリューションにかなり似ているはずです。