Калитка: рендеринг / обновление RepeatingView без HTML-тега

Итак, у меня есть FormControl внутри Repeating View, и я установил HTML для Repeating view как Wicket:container

Я пытаюсь обновить formControl, но, поскольку я удаляю теги калитки в выводе, это дает ошибку JS.

я знаю калитку: контейнер не может быть обновлен. но я не могу обновить контроль внутри него. Я пробовал настройку

control.setOutputMarkupPlaceholderTag(true);
control.setOutputMarkupId(true);

И HTML это как-то так

<form wicket:id="form">
        <wicket:container wicket:id="repeatingContainer">
        </wicket:container>
</form>

вот ошибка, которую я получаю

Cannot bind a listener for event "change" on element "id1a3" because the element is not in the DOM

я хочу удалить HTML-тег repeatingContainer из вывода, чтобы он соответствовал макету формы начальной загрузки.

Обновление: этот код находится внутри RepeaterView

<wicket:panel>
    <div wicket:id="componentGroup">
        <wicket:child/>
    </div>
</wicket:panel>

Этот код калитки ребенка

<div wicket:id="labelContainer">
    <label wicket:id="label"></label>
</div>
<div wicket:id="controlContainer" class="control-container">
    <input wicket:id="input"/>
</div>

1 ответ

Хорошо, так что я могу справиться с этим. Я обновил компонент Group div до wicket:container и оставил Repeater как div. Так что теперь я могу обновить. и это работает хорошо.

Так вот как это будет выглядеть

<form wicket:id="form">
    <div wicket:id="repeatingContainer">
        <wicket:container wicket:id="componentGroup">
            <div wicket:id="labelContainer">
                <label wicket:id="label"></label>
            </div>
            <div wicket:id="controlContainer" class="control-container">
                <input wicket:id="input"/>
            </div>
        </wicket:container>
    </div>
</form>
Другие вопросы по тегам