如何在任何表中获取所选行的内容,并使用JQuery在post数组中提交它们的值?
这是我的表:
<?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>
答案 0 :(得分: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调用,发布数据并显示返回的任何结果数据。
(我假设您需要更改以适应。我假设该表的ID为table1
- 请参阅第二行代码。) < / p>
<强> Here's a working jsfiddle 强>