Изменить className для компонента, когда кнопка отключена с помощью Wicket? - PullRequest
0 голосов
/ 04 февраля 2011

Например:

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

Из Java-кода я установил эту кнопку для включения или выключения, проблема в том, что я не знаю, как изменить span_name className, когда кнопка отключена.

Ответы [ 3 ]

2 голосов
/ 04 февраля 2011

Оберните 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, который использует тот желогика, которую вы используете, чтобы отключить кнопку.

0 голосов
/ 05 февраля 2011

Вот пример кода:

       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";
            }
        }));
0 голосов
/ 04 февраля 2011
var jSpan = $('#saveButton').parent();
jSpan.removeClass( 'button4' );
jSpan.addlass( someclass );
...