2013-05-06 2 views
0

У меня есть кусок кода HTML с использованием Thymeleaf:Добавлены новые элементы dynamycally с AJAX

<form id="form" action="/create" th:action="@{/create}" th:object="${form}"> 

    <input type="text" th:field="*{title}"/> 

    <div th:each="item, itemInfo : *{items}"> 
     <div> 
     <input type="text" th:field="*{items[__${itemInfo.index}__].text}" /> 
     </div> 
    </div> 

    <button id="addNewBtn" onClick="add()"/> 

    <button type="submit" value="Create"/> 

</form> 

форма объекта имеет коллекцию под названием «элементы». Нажатие кнопки «addNewBtn» вызывает метод javascript «add», где он должен содержать код, который может добавить новый элемент в коллекцию (и это моя проблема здесь - я не знаю, как выглядит этот код). Можно ли добавить новый элемент в коллекцию с помощью ajax? Также важно, чтобы новый добавленный элемент привязывался к полю под названием «текст». Или, возможно, есть другое решение? В принципе, мне нужно создать объект (после формы отправки) с заголовком и множеством элементов с текстом, который пользователь может добавить динамически.

Заранее спасибо

+0

Что такое «Элементы», когда страница изначально отображается? Он пуст? – hubbardr

+0

нет, они не пустые. По умолчанию эта коллекция содержит 2 объекта с полем: текст строки и некоторые другие поля. – Shendor

ответ

0

Вы можете позвонить (с помощью AJAX) в HTML-шаблон строки с сервера, давая параметр «индекс».

+0

Не могли бы вы привести пример? Интересно, как будет работать привязка в этом случае. – Shendor

+1

У меня нет примера этого, но я думаю, что он тоже будет работать. Вы можете проверить этот пост, что я описал, как я делаю то же самое без ajax. http://blog.florentlim.com/how-to-write-javascript-including-thymeleaf/ Он не использует ajax, но динамически создает новую строку для последующего связывания. Надеюсь, это поможет вам – fliim

 Смежные вопросы

  • Нет связанных вопросов^_^