[英]Java - Dynamically add input fields and add column to the table
誰能指導我如何在表單中動態添加輸入字段,並且在保存表單時,應將相同數量的列添加到相應的表中。 我們可以使用Hibernate來做到還是只能通過JDBC來做到?
$(document).ready(function () {
var counter = 1;
var favorite = [];
$('#add').click(function () {
var name = 'textName' + counter;
$('#inputContainer').append("<div>" + name + "<input type='text'
id='" + name + "' /></div>");
counter++;
});
$('#Save').click(function () {
for (var i = 1; i < counter; i++) {
var textValue = $('#textName' + i).val();
favorite.push(textValue);
//If you to save all data in one by one then Save function here
//Save(textValue);
}
//If you to save all data in one go then call Save function here
Save(favorite);
}); });
function Save(dataToSave)
{
$.ajax({
url: "AJAX_POST_URL",
type: "POST",
data: dataToSave,
success: function (data, textStatus, jqXHR) {
//data - response from server
},
error: function (jqXHR, textStatus, errorThrown) {
}
});
}
嗯,現在我明白了。 您想要將新列動態添加到數據庫表。 您可以使用Hibernate。 使用EntityManager,您可能可以運行ALTER TABLE語句。 看看這里https://stackoverflow.com/a/9914086/3959856
雖然,也許會有更好的方法,例如使用某些可以調用Attributes的方法(如果適用)。 創建一個名為AttributeType的表(以及Hibernate中的對應實體),並創建一個名為Attribute的表作為示例。 添加新字段后,您將創建一個新的AttributeType(如果是新類型,則使用重用和現有類型)。 然后創建一個新的Attribute,其中包含AttributeType和一個值。 我認為這是一個更好的方法。
public class Attribute {
private AttributeType type;
private String value;
//getters setters
}
public class AttributeType {
private String name;
//getter setter
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.