我有一个main-page.php,它有一个简单的表单(id=search),可以在MySQL数据库中执行实时搜索,并以如下列表返回结果:
echo "<ul style="list-style-type: none;">";
while($row = mysql_fetch_assoc($sql)) {
echo "<li><a href=next-step.php?NDB_No=".$row['NDB_No'].">".$row['Long_Desc']."</a>";
}
echo "</ul>";
我需要的是一个JQuery函数,允许我点击上面列表中返回的任何列表项,但我不想被引导到next-step.php,而是想留在main-page.php上,并用next-stepphp脚本的内容更新此页面上的div"results"。
值得注意的是,next-step.php执行另一个SQL搜索,并以带有单选按钮的表单元素的形式返回结果,这些单选按钮是用echo命令构建的,类似于以下内容:
echo "<form id=choices>"
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "<input type=RADIO name="food_quantity" value="$line[Gm_Wgt]">";
echo "<b>$line[Amount] $line[Msre_Desc]</b> ($line[Gm_Wgt] grams)";
}
echo "<INPUT type=RADIO name=quantity>";
echo "<INPUT type=text NAME=my_quantity SIZE=4 value=""> <b>grams</b>";
echo "<input type=submit name=Submit value="Submit">";
echo "</form>";
最后,我希望能够对表单"choices"做的是检查一个单选按钮选项,将选择发送到一个外部php页面(让我们称之为last.php),在那里执行另一个SQL搜索,然后将结果作为格式化HTML的blcok返回到main-page.php的原始"results"div中。
谢谢你的帮助!
以下是我建议您的简单易行的4个步骤,您可以根据自己的需要定制
步骤1:编写Jquery函数onclick()
<script>
$( "#yourID" ).click(function() {
$( this ).slideUp();
});
</script>
步骤2:执行ajax调用并将值发送到服务器
$.post( "yourServer.php", { data: "yourData" })
.done(function( data ) {
});
步骤3:获取服务器端中的值
$data = $_POST['data'];
#Do some process and get the result
步骤3:发送结果
echo json_encode($yourData)
第4步:获取JQuery成功事件的结果&在div中显示您需要更新
if(success.data==1)
{
$('#yourResult').html(data.name);
}
else
{
$('#yourResult').html(data.error);
}
希望这对你有帮助!