使用wicket禁用按钮时更改组件的className?

时间:2011-02-04 15:18:45

标签: javascript html wicket

例如:

<span class="button4">
   <button wicket:id="saveButton" type="submit">
     <wicket:message key="modalArchiveAccount.button.save" />
   </button>
</span> 

从java代码我设置此按钮启用或禁用,问题是我不知道如何在禁用按钮时更改span className。

3 个答案:

答案 0 :(得分:2)

围绕按钮包装WebMarkupContainer

add(new WebMarkupContainer("spanId") {
                    {
                        add(new Button<String>("saveButton")){
                        [... button logic...]
                        };
                    }
                });

<span wicket:id="spanId">
   <button wicket:id="saveButton" type="submit">
     <wicket:message key="modalArchiveAccount.button.save" />
   </button>
</span> 

然后将新的AttributeModifier(“class”,...)或AttributeAppender(“class”,...)添加到WebMarkupContainer,它使用与禁用按钮相同的逻辑。

答案 1 :(得分:0)

var jSpan = $('#saveButton').parent();
jSpan.removeClass( 'button4' );
jSpan.addlass( someclass );

答案 2 :(得分:0)

以下是示例代码:

       final Button  button=new Button("buttn") {
            public void onSubmit() {
                System.out.println("change....");
                setEnabled(false);
            };
        };
        button.add(new AttributeModifier("class", true, new Model<Serializable>() {
            @Override
            public Serializable getObject() {               
                if (button.isEnabled())
                    return "your_enabled_class";
                else return "your_disabled_class";
            }
        }));