私は 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:コメント行は私が試したものです。