2

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 を使用して、入力ボックスごとに値を取得し、ユーザーが選択した宛先テーブルにコピーする必要がありますか?

4

2 に答える 2

1

すべてのテーブルが 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);​

ライブデモ

うまくいくことを願っています。

于 2012-11-05T13:32:23.383 に答える
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
});​
于 2012-11-05T13:42:54.120 に答える