2011-11-07 43 views
2

长时间潜伏者,第一次海报。以非特定名称动态设置HTML中的输入值

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

这里是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

,而不是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); 
} 
+0

太感谢你了,这个完美! –