-1

JQuery を使用して、任意のテーブルで選択した行のコンテンツを取得し、それらの値を投稿配列に送信するにはどうすればよいですか?

これが私のテーブルです:

            <?php if(isset($products)){ ?>
            <?php foreach( $products as $product){ ?>
                <tr id="<?php echo $product['order_product_id']; ?>">
                    <td class="center"><input checked="checked" type="checkbox" name="selected-p[]" value="<?php echo $product['order_product_id']; ?>" /></td>
                    <td class="left"><input type="text" name="order_id" value="<?php echo $product['order_id']; ?>"/></td>
                    <td class="left"><input type="text" name="product_id" value="<?php echo $product['product_id']; ?>"/></td>
                    <td class="left"><input type="text" name="name" value="<?php echo $product['name']; ?>"/></td>
                    <td class="left"><input type="text" name="price" value="<?php echo $product['price']; ?>"/></td>

                    <td class="left"><input type="text" name="cost" value="<?php echo $product['cost']; ?>"/></td>
                    <td class="left"><input type="text" name="product_cost" value="<?php echo $product['product_cost']; ?>"/></td>
                    <td class="left"><input type="text" name="logistics_cost" value="<?php echo $product['logistics_cost']; ?>"/></td>
                    <td class="left"><input type="text" name="inventory_cost" value="<?php echo $product['inventory_cost']; ?>"/></td>

                    <td class="left"><font  dir="ltr"><?php echo $product['date_added']; ?></font></td>
                </tr>
            <?php } ?>
        <?php } ?>

質問の作成者による HTML のレンダリング:

<tr id="39118"><td class="center"><input type="checkbox" name="selected-p[]" value="39118"></td> <td class="left"><input type="text" name="order_id" value="10141"></td> <td class="left"><input type="text" name="product_id" value="881"></td> <td class="left"><input type="text" name="name" value="أساور الصداقة"></td> <td class="left"><input type="text" name="price" value="30.0000"></td> <td class="left"><input type="text" name="cost" value="9.0000"></td> <td class="left"><input type="text" name="product_cost" value="9.00"></td> </tr>
4

1 に答える 1

1

これを試して...

var data = [];

$("#table1 tr").filter(function() {
    return $("td:eq(0) input[type=checkbox]", this).attr("checked");
}).each(function() {
    data.push({
        order_id: $("input[name=order_id]", this).val(),
        product_id: $("input[name=product_id]", this).val(),
        name: $("input[name=name]", this).val(),
        price: $("input[name=price]", this).val(),
        cost: $("input[name=cost]", this).val(),
        product_cost: $("input[name=product_cost]", this).val(),
        logistics_cost: $("input[name=logistics_cost]", this).val(),
        inventory_cost: $("input[name=inventory_cost]", this).val()
    });
});

console.log(data);

if (data.length > 0) {
    $.ajax({
        url: "http://www.webpage.com",
        type: "POST",
        data: data,
        success: function(data) {
            console.log("Success!! " + data);
        }
    });
}

と呼ばれる配列を作成し、dataチェックされているテーブルの各行を表すオブジェクトをその配列に入力します。(Console.logはそれが何を取得するかを示します)。

次に、ajax呼び出しを実行し、データを投稿して、返された結果のデータを表示します。

(私はあなたがそれに合わせて変更する必要があると1つの仮定をしました。私はテーブルがのIDを持っていると仮定しましたtable1-コードの2行目を参照してください。)

これが動作するjsfiddleです

于 2012-11-23T17:44:12.257 に答える