Я пытаюсь реализовать простую раскрывающуюся панель, которая обновляется на основе выбора другого раскрывающегося списка с помощью Wicket 6.19. Пока что так хорошо, выпадающие работы, как они должны. Проблема в том, что я использую настраиваемый компонент выбора выпадающего списка, где в методе renderHead вызывается метод uniform().Использование uniform() в Wicket генерирует несколько экземпляров при вызове метода modelChanged
@Override
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
response.render(OnDomReadyHeaderItem.forScript("$('#" + getMarkupId(true) + "').uniform();"));
}
Это Methode (она была написана кем-то другим) всегда вызывается, когда я призываю modelChanged() Methode моего выпадающего списка, чтобы обновить. Таким образом, новый элемент div создается каждый раз, когда вызывается метод renderHead, результаты которого на экране в тени дополняют компонент.
Generated HTML after changing the selection of the dropdown several times
Когда я удалить код с однотонным, addional дивы не генерируются, но выпадающий имеет неправильный тип. Я не знаком с однородным методом. Я бы очень признателен за вашу помощь, как исправить это.
Я пробовал, но в этом случае, после того как я изменил выбор своего первого раскрывающегося списка, пользовательский стиль выпадающего меню больше не применялся. –
Что я делаю при определенном изменении, так это то, что я очищаю список с элементами второго выпадающего списка и устанавливаю для элемента модели выбора значение null. В другом изменении я снова заполняю список и устанавливаю модель выбора. –
Вам либо нужен 'deuniform()' метод, который 'destroy' JS-виджет, если он есть, либо вам нужно полностью удалить всю DOM и добавить новый DropDownChoice, который будет «единообразным», поскольку он не имеет были представлены ранее. –