我有一个棘手的情况,我需要复制表格行,然后将输入的名称更改为非常特定的格式。输入端被命名如下:jQuery:重复一个表格行,然后根据特定的命名约定更改其中的输入名称?
- 数据[ProjectRequirement] [0] [描述]
- 数据[ProjectRequirement] [0] [数量]
- ...
现在,当上面的行重复时,输入需要命名如下:
-
个
- 数据[ProjectRequirement] [1] [描述]
- 数据[ProjectRequirement] [1] [数量]
- ...
所以图案必须继续。复制该行是没有问题的,而且我用下面的方法:
$j(\'table.WfTable tr\').live(\'mousedown\', function(e){
if($j(e.target).hasClass(\'add\')){
var clone = $j(e.target).parents(\'tr\').clone();
$j(\'table.WfTable\').find(\'tbody\').append($j(clone));
// NOW I WANT TO DO THE INPUT NAME CHANGE
};
});
忽略躲过行情中,JS是通过PHP输出。所以目前,这一行是重复的,名称是相同的。是否有一种方法,一旦重复,我可以说:
“获取行中每个输入的名称,寻找像[0]或[1]等字段,并将该值更改为表格DOM元素中的行索引号(即,行1是索引0,2是索引1 ...)?“
我只能假设表的第1行位于该表的DOM树的索引0处,因此认为必须有一种方法使用该索引数据应用于输入名称?
任何帮助,非常感谢。
西蒙
编辑:这里是一个表行,动态创建(CakePHP的视图)
<tr class="repeat">
<td valign="top" style="width:250px;padding:10px 10px 10px 0;"><input type="hidden" name="data[ProjectRequirement][1][project_id]" value="1" id="ProjectRequirement1ProjectId"><input type="hidden" name="data[ProjectRequirement][1][id]" value="2" id="ProjectRequirement1Id"><div class="input text"><input name="data[ProjectRequirement][1][resource]" style="width:240px;" maxlength="40" type="text" value="Teachers" id="ProjectRequirement1Resource"></div></td>
<td valign="top" style="padding:10px 0;"><div class="input text"><input name="data[ProjectRequirement][1][description]" type="text" value="Any volunteer (part time) teachers" id="ProjectRequirement1Description"></div></td>
<td valign="top" style="width:150px;padding:10px 0;"><input name="data[ProjectRequirement][1][qty]" style="width:70px;float:left;clear:none;" maxlength="10" type="text" value="20+" id="ProjectRequirement1Qty"> <a href="#" class="add"><img src="/trusthau.net/img/buttons/btn_plus.png" style="float:right;clear:none;margin:10px 0 0 0;" class="add" alt=""></a></td>
</tr>
这是什么一个表行是什么样子? – HerrSerker 2012-02-17 11:03:41
@ yunze,请参阅下面的编辑我的问题,我已经添加了一行已输出(通过CakePHP) – SimonDowdles 2012-02-17 11:16:40