我使用php动态创建了11个表,每个表上的每个单元格都包含一个输入文本框。
像这样:
<table>
<tr>
<td><input value="2" class="amount 1 " name="item_prices[10][000][1][1]" size="3" type="text"></td>
<td><input value="2" class="amount 2 " name="item_prices[10][000][1][2]" size="3" type="text"></td>
</tr>
<tr>
<td><input value="2" class="amount 1 " name="item_prices[10][001][1][1]" size="3" type="text"></td>
<td><input value="2" class="amount 2 " name="item_prices[10][001][1][2]" size="3" type="text"></td>
</tr>
</table>
<table>
<tr>
<td><input value="2" class="amount 1 " name="item_prices[25][000][1][1]" size="3" type="text"></td>
<td><input value="2" class="amount 2 " name="item_prices[25][000][1][2]" size="3" type="text"></td>
</tr>
<tr>
<td><input value="2" class="amount 1 " name="item_prices[25][001][1][1]" size="3" type="text"></td>
<td><input value="2" class="amount 2 " name="item_prices[25][001][1][2]" size="3" type="text"></td>
</tr>
</table>
等等......
11个表之间的唯一区别是输入名称,我想复制表之间的所有内容,例如从表1到表10,从表2复制到表6。
实现这一目标的最佳方法是什么?使用jQuery我必须走到每个输入框获取值然后复制到用户选择的目标表?
答案 0 :(得分:1)
我认为,所有表格都在一个DIV中,所以我们可以通过divID检查这个...
试试这个,
var getamount="";
$("#div1").find("table tr td").each(function (i) {
if (getamount == "")
getamount = $('input:text', $(this)).val();
else
getamount = getamount + "_" + $('input:text', $(this)).val();
});
alert('getamount_'+getamount);
希望它能奏效。
答案 1 :(得分:1)
如果您可以依赖所有表格的文本框的数量和顺序相同,那么此代码将起作用:
function CopyTableInputs(sourceTableId, destinationTableId) {
var oSource = $("#" + sourceTableId);
var oDest = $("#" + destinationTableId);
var arrSourceInputs = oSource.find("input");
var arrDestInputs = oDest.find("input");
arrDestInputs.each(function(i) {
this.value = arrSourceInputs[i].value;
});
});
为此你必须为每个表添加id,如果你想避免这一步并且你的文档中没有任何其他表,你可以稍微更改一下这个函数并使用索引:
function CopyTableInputs(sourceTableIndex, destinationTableIndex) {
var oSource = $("table").eq(sourceTableIndex);
var oDest = $("table").eq(destinationTableIndex);
//...same as above
});