使用ajax在wicket中的下拉列表选择中添加工具提示

时间:2012-10-31 05:51:58

标签: java ajax wicket

我正在使用Wicket和ajax框架。下拉列表通过检票口填充,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:注释行是我尝试的行。

1 个答案:

答案 0 :(得分:1)

我认为你应该用“jQuery”重新提出你的问题。如果您使用的是Wicket 6.x.x,那么您实际上已经在使用jQuery;)

Wicket基本上是一个服务器端框架。您想要做的是客户端问题。我不认为Wicket里面有解决方案。但是使用jQuery很容易解决它,而Wicket很好地与jQuery一起玩。

例如,查看如何使用jQuery将工具提示添加到下拉列表项的解决方案:
http://integrant.com/2010/07/23/how-to-add-a-tooltip-to-dropdownlist-items/
jquery tooltip to display full text from dropdown selected value

塞巴斯蒂安