0

我有以下 jQuery 代码:

$('#btnAdd').click(function() {
var i = ($('#stuff >tbody >tr').length)+1;
$('#stuff >tbody >tr:last').clone(true).find("input,select").each(function(){
$(this).attr({
'name': function(_, name){
   return name + i;
},
'value': ''
});}).end().insertAfter('#stuff >tbody>tr:last').show();

这会产生以下 DOM:

<tr>
<td class="td_6">
<select name="name1">
<option selected="" value="Bricklayers">Bricklayers</option>
<option value="Sheet Metal Workers">Sheet Metal Workers</option>
<option value="Sprinkler Fitters">Sprinkler Fitters</option>
</select>
<td>
<td class="td_6">
<input name="V_union" value="1" type="radio">Yes<input name="V_union" value="0" type="radio" checked="checked">No
</td>
<td class="td_6">
<input name="V_picketed" value="1" type="radio">Yes<input name="V_picketed" value="0" type="radio" checked="checked">No
</td>
<td>
</td>
</tr>

<tr style="">
<td class="td_6">
<select name="name13" value="">
<option selected="" value="Bricklayers">Bricklayers</option>
<option value="Sheet Metal Workers">Sheet Metal Workers</option>
<option value="Sprinkler Fitters">Sprinkler Fitters</option>
</select>
</td>
<td class="td_6">
<input name="V_union3" value="" type="radio">Yes<input name="V_union3" value="" type="radio" checked="checked">No
</td>
<td class="td_6">
<input name="V_picketed3" value="" type="radio">Yes<input name="V_picketed3" value="" type="radio" checked="checked">No
</td>
<td>
</td>
</tr>

这是表单标签:

<form method="post" action="view_job.php" name="updateViolations" enctype="multipart/form-data">

动态输入的行在标签内。

当我在 $_POST 上执行 var_dump 时,我没有在 $_POST 变量中看到新的动态生成的表单输入。

我检查了其他几个问题,看来我做的一切都是正确的,但我迷路了。

4

2 回答 2

2

感谢所有提交的内容。原来这是一个简单的修复。

https://stackoverflow.com/a/3687359/983061

再次感谢。

于 2013-01-14T22:18:45.790 回答
1

看起来有一些重复的id属性。id每页只能使用一次。

您可以考虑将这些从更改idclassclasses每页可多次使用)。

重复:clonedInput, td_6_left, check1,check13

于 2013-01-14T19:03:20.490 回答