2011-01-13 55 views

答えて

1

Alas WicketはHTMLの生成に使用され、HTMLではチェックボックス付きのドロップダウン機能はありません。

同様の効果を引き起こす可能性のあるHTMLのコード例をインターネットで見てみましょう(例:<div>が表示されている/あなたが編集している値をクリックすると表示されません)。たとえば、私はここにこのスレッドを見つけました:あなたは、ライブラリは、[複数=「複数」を選択] HTMLタグを生成し、ウィケットのListMultipleChoice(に適用されるjavascriptの一部を使用することができますhttp://www.webdeveloper.com/forum/showthread.php?t=182976

3

私は1つ(jQuery UI MultiSelect Widgethosted at GitHubが)として実装見つけました@erichynds

Pageクラスは単なる古いWicketページであり、スクリプト/スタイルシートをインポートして単一の関数を呼び出すだけです設定可能):

HomePage.java:

public class HomePage extends WebPage { 

    List<String> selection = new ArrayList<String>(); 

    public HomePage() { 
     add(CSSPackageResource.getHeaderContribution(HomePage.class, "jquery.multiselect.css")); 
     add(JavascriptPackageResource.getHeaderContribution(HomePage.class, "jquery.multiselect.min.js")); 

     add(new FeedbackPanel("feedback")); 
     Form form = new Form("form") { 
      @Override 
      protected void onSubmit() { 
       info(selection.toString()); 
      } 
     }; 
     form.add(new ListMultipleChoice("list", 
      new PropertyModel(this, "selection"), 
      Arrays.asList("A", "B", "C", "D", "E", "F", "G", "H"))); 
     add(form); 
    } 
} 

HomePage.html

<html xmlns:wicket="http://wicket.apache.org"> 
<head> 
    <link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.3/themes/cupertino/jquery-ui.css"> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.3/jquery-ui.min.js"></script> 
    <script type="text/javascript"> 
    $(document).ready(function() { 
     $("select").multiselect(); 
    }); 
    </script> 
</head> 
<body> 
    <div wicket:id="feedback"></div> 
    <form wicket:id="form"> 
    <select wicket:id="list"></select> 
    <br/> 
    <input type="submit"> 
    </form> 
</body> 
</html> 
関連する問題