3

私は Wicket と ajax フレームワークを使用しています。ドロップダウンは wicket を介して取り込まれonchnage、ドロップダウンは を介し​​て処理されajaxます。ユーザーがドロップダウンから値を選択するときに、動的にドロップダウン
を追加したいと考えています。 コードは次のようになります。title

DropDownChoice attrDDC = new DropDownChoice("dropDownField", 
    new PropertyModel(this, "modelObject"), 
    entityList, 
    new ChoiceRenderer(element.getEntity().getNameField()));
attrDDC.setNullValid(true);
attrDDC.add(new AjaxFormComponentUpdatingBehavior("onchange") {

    @Override
    protected void onUpdate(AjaxRequestTarget target) {
        if (getModelObject() != null)
            nodeAttribute.setIdCodeValue(getModelObject().getId());
        else
            nodeAttribute.setIdCodeValue(null);
        // thisDDC.add(new AttributeAppender("onmouseover", 
                new Model("Tip('" + ((WorkflowRules)getModelObject()).getRuleName() + "');"), ";"));
        // thisDDC.add(new AttributeModifier("title", true, new Model(((WorkflowRules)getModelObject()).getRuleName())));
        if (elmntIdDDCMap != null && elmntIdDDCMap.containsKey(thisElmnt.getId()))
        {
            List<DropDownChoicePanel> ddcPanelList = elmntIdDDCMap.get(thisElmnt.getId());
            for (DropDownChoicePanel ddcPanel : ddcPanelList)
            {
                ddcPanel.setEntityList(attributesList);
                target.addComponent(ddcPanel.getThisDDC());
            }
        }

    }

});
add(attrDDC);
thisDDC = attrDDC;

PS:コメント行は私が試したものです。

4

1 に答える 1

1

「jQuery」で質問を再タグ付けする必要があると思います。Wicket 6.xx を使用している場合、実際にはすでに jQuery を使用しています ;)

Wicket は基本的にサーバー側のフレームワークです。あなたがしたいことは、クライアント側の問題です。Wicket 内に解決策があるとは思いません。しかし、jQuery を使用すると問題を解決するのはかなり簡単で、Wicket は jQuery とうまく連携します。

たとえば、jQuery を使用してツールチップをドロップダウン リスト項目に追加する方法のソリューションを参照してください:
http://integrant.com/2010/07/23/how-to-add-a-tooltip-to-dropdownlist-items/
jquery tooltipドロップダウンで選択した値から全文を表示する

セバスチャン

于 2012-10-31T08:40:21.127 に答える