使用非特定名称在HTML中动态设置输入值

时间:2011-11-07 22:37:50

标签: php javascript jquery html

长时间潜伏,第一次海报。

我有一个动态的页面(使用Javascript / jQuery)add key =>值对输入到表单。这些字段需要作为数组返回给PHP进行处理,因此这些键都被命名为“complete_fields []”,并且这些值都被命名为“complete_values []”。现在这是我的问题。如果我填写了一些输入,那么想要添加另一个键=>值对,我可以点击一个按钮,Javascript将发挥其魔力。但是,由于未填写HTML“value =”部分,因此我已填写的输入将被Javascript删除。所以我的问题是:如何使用JS动态设置输入的HTML值,即使所有输入都命名相同?如果这不可能,我如何在不删除所有其他HTML的情况下添加到div的末尾?

以下是Javascript添加输入代码:

function addCompleteField() {
    var oldhtml = $("#complete_fields").html();
    var newrow = '<tr><td><input type="text" name="complete_fields[]" > => <input type="text" name="complete_values[]" ></td></tr>';
    $("#complete_fields").html(oldhtml+newrow);
}

1 个答案:

答案 0 :(得分:1)

不要乱用HTML,只需使用jQuery的clone方法克隆元素:

function addCompleteField() {
    var table = $('#complete_fields'),
        lastRow = table.find('tr').last(),
        newRow = lastRow.clone(true);

    newRow.find('input').val(''); // blank the new row's input elements
    newRow.appendTo(table);
}