簡體   English   中英

Java-動態添加輸入字段並將列添加到表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM