【发布时间】:2012-07-16 01:18:15
【问题描述】:
我有一个父页面,其中有一个下拉列表。使用 onchange 事件,使用$.post() 将数据发布到第二页。此页面使用发布的变量来输出 mysql 数据,每行都有一个复选框。然后使用 jquery $('#DIV name').html(output).show(); 将此页面输出插入到父页面中
然后用户可以看到带有相应复选框的 mysql 表行。然后他们选择他们想要的复选框并说删除。删除是一个表单提交按钮。
我的问题是,当他们单击删除时,我如何从第二页获取表单数据并将其与父页面的数据一起发布,以便我可以使用 $_POST[] 获取复选框信息并删除选定的表行?
父页面代码示例为:
javascript/jquery
<script type="text/javascript">
function get(row){ //row being processed, defined in onchange="get(x)"
('getpeopleinjobs.php',{ //data posted to external page
postvarposition: form["position"+row].value, //variable equal to input box, sent to external page
postvarjob: form["job"+row].value, //variable equal to input box, sent to external page
postvarperson: form["person"+row].value, //variable equal to drop down list, sent to external page
postrow: row}, //variable equal row being processed, sent to external page
function(output){
$('#training'+row).html(output).show(); //display external results in row div
//popupWindow = window.open('t4.php?variable1Name=Vicki&variable2Name=Maulline','popUpWindow','height=400,width=1000,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=no,menubar=no,location=no,directories=no,status=yes')
});
}
</script>
表单数据是
<tr>
<td>
<?PHP echo $i; ?>
</td>
<td>
<input type=text NAME="position<?PHP echo $i; ?>" id="position<?PHP echo $i; ?>" style="border: 1px solid #2608c3;color:red; width=200px" value="<? echo mysql_result($resultpositionjob,$r,0);?>">
</td>
<td>
<input type=text NAME="job<?PHP echo $i; ?>" id="job<?PHP echo $i; ?>" style="border: 1px solid #2608c3;color:red; width=200px" value="<? echo mysql_result($resultpositionjob,$r,1);?>">
</td>
<td>
<SELECT NAME="person<?PHP echo $i; ?>" id="person<?PHP echo $i; ?>" style="border: 1px solid #2608c3;color:red; width=200px" onchange="get(<? echo $i; ?>);">
<OPTION VALUE=0 >
<?=$optionpeople?>
</SELECT>
</td>
<td onclick="train(<? echo $i; ?>);" style="color:grey; cursor: pointer;">
<div id="training<?PHP echo $i; ?>"><font color=grey size=2></div>
</td>
<td>
</td>
</tr>
<?PHP
$i++;
$r++;
}
?>
jquery调用的第二个页面或页面,输出为:
echo
"
<table border=0 width=400>
<tr>
<td width=20>
</td>
<td width=150>
<b>Position<b>
</td>
<td>
<b>Job<b>
</td>
</tr>
";
while($line = mysql_fetch_array($result))
{
echo "
<tr>
<td>
";
?>
<input type=checkbox name="delete[]" id="delete[]" value="<?php echo $rows['id']; ?>">
<?PHP
echo "
</td>
<td>
";
echo $line['position'];
echo "
</td>
<td>
";
echo $line['job'];
echo "
</td>
</tr>
";
}
?>
<tr>
<td>
<input type=submit name="update" id="update" value="Update">
</td>
</tr>
</table>
<?PHP
}
重复一遍,我希望第二页中的表格复选框元素与父页面的表单数据一起发布。
这可能吗,因为我的测试没有给我带来任何运气。
是我做错了什么还是需要修改jquery代码?
一如既往地感谢您的帮助。
【问题讨论】:
-
您可以尝试将以前的信息放在隐藏字段中并使用它。
-
嗨@Rohit,隐藏字段必须在父页面上还是在第二页上?第二页上的类似字段: 感谢您的帮助。
-
第二页的隐藏字段。从那里您可以使用 POST 发布所有字段
-
对不起@Rohit,只需要正确理解这一点。如果它隐藏在第二页上,它将如何出现在父页面上,以便用户可以选择复选框?你能给我一个例子吗?再次感谢。