我正在尝试将内容存储在表#itemsTable中的tr中,在数组celValues中并将其发布到php并重复它(发布下一个tr直到最后一个tr)。 这是代码:
$('#save').click(function(){
//alert("hi");
var celValues= new Array();
$('#itemsTable tr').each(function() {
celValues[0] = $('td:nth-child(2)').find('input').val();
celValues[1] = $('td:nth-child(3)').find('input').val();
celValues[2] = $('td:nth-child(4)').find('input').val();
celValues[3] = $('td:nth-child(5)').find('input').val();
celValues[4] = $('td:nth-child(6)').find('input').val();
$.post("test.php", {celvalues: celValues},function(data){
document.write(data);
});
});
});
test.php的:
<?php
$i=0;
$arr= array();
$arr = $_POST['celvalues'];
foreach($arr as $val)
{
echo " " .$arr[$i];
$i++;
}
?>
问题是它重复第一行而不是发布所有tr的内容。
输出3行,内容不同。但第一行重复3次:
1000网站设计1 100.5 100.5 1000网站设计1100.5100.5 1000网站设计1 100.5 100.5
答案 0 :(得分:2)
$('#save').click(function(){
$.post("test.php", {form: $("#yourFromID").serialize()},function(data){
document.write(data);
});
});
在test.php中
<?php
$i=0;
$arr= array();
$arr = $_POST['form'];
foreach($arr as $val)
{
echo " " .$arr[$i];
$i++;
}
?>
在回复您的评论时,DEMO序列化表单将包含所有输入字段的值
答案 1 :(得分:1)
你的代码似乎没有一点用于迭代trs,因为你没有使用它们
也许你的意思是
$('#itemsTable tr').each(function(index, element) {
celValues[0] = $(element).find('td:nth-child(2)').find('input').val();
celValues[1] = $(element).find('td:nth-child(3)').find('input').val();
....