1

我有一个输入表,它的最后一行是:

    <tr>
        <td>
           <input type="hidden" value="" readonly="" size="3" name="id[]">
       </td>
<td>
      <input type="hidden" value="" readonly="" size="3" name="fkcommand[]">
      </td>
<td>
<select name="type[]">
<option value="C" selected="selected">C</option>
<option value="P">P</option></select>
</td>
<td>
  <input type="input" value="1200" size="6" name="strike[]">
</td><td>
      <input type="input" value="-2" size="6" name="quantity[]">
    </td>
    </tr>

我想克隆这个输入行,清空它的值,除了隐藏值 fkcommand并将其附加到表的末尾

我正在使用这个:

var row = $(this).parent().find('table tbody tr:last');
row.clone().find('input').val('').end().insertAfter(row).find('[name=fkcommand[]]').val('222');

它不会将值 '222' 添加到 fkcommand

4

2 回答 2

1

可能问题出在选择器上。最好引用属性值:

.find("[name='fkcommand[]']")

但是,我建议您以这种方式重写您的代码:

row.clone().insertAfter(row).find("input").each(function() {
    this.value = this.name == "fkcommand[]" ? "222" : "";
});
于 2012-10-17T16:30:08.127 回答
0

给你

var clonedRow = $(table).last('tr').clone();
于 2012-10-17T16:36:47.880 回答