我想知道如何在模态上传递所选的id。
下面我有一个位于表格内的代码:
<a type='button' id='seemore' data-toggle='modal' idNum='".$row['marriage_id']."'
data-target='#see_more' class='glyphicon glyphicon-eye-open'></a>
$row['marriage_id']
来自我的第一个查询。
我希望我可以使用idNum($row['marriage_id'])
中的值,以便我可以在第二个查询中使用它。
我想在此查询中使用它。
SELECT * FROM marriage WHERE marriage_id = idNum
,结果将是第一个查询中选定的id
,它将是第二个查询中where子句的参数。
答案 0 :(得分:2)
此示例使用异步数据加载。用户单击该按钮并将请求发送到服务器,当服务器响应时,执行程序的下一位。在你的情况下打开一个带有婚姻数据的模态。该系统的优点是用户可以在解决请求时继续使用您的网页。
使用onclick事件更新HTML中的链接。
<a type='button' id='seemore' data-toggle='modal' idNum='".$row['marriage_id']."'
data-target='#see_more' onclick='sendRequest(this.idNum)'
class='glyphicon glyphicon-eye-open'> </a>
使用以下功能为您的页面添加脚本块。
JavaScript的:
function sendAjax(id, e) {
var xmlhttp;
xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 ) {
if(xmlhttp.status == 200){
//request is complete and loaded
//open the modal dialog or update it.
}
else if(xmlhttp.status == 400) {
alert('There was an error 400')
}
else {
alert('something else other than 200 was returned')
}
}
}
xmlhttp.open("POST", "file.php", true); //true means asynchronously.
xmlhttp.send("idnum="+id);
}
id
作为post var发送到服务器。将file.php
替换为您自己的php文件。在该php文件中,您执行查询并将echo
响应显示为 xml 或 JSON 。
//open the modal dialog or update it.
:在此行下方,您可以检索数据。该行位于事件处理程序中,用于检查数据是否已加载。由于服务器在此if子句中使用200
进行响应,因此我们可以假设存在响应。如果 JSON 使用JSON.parse(this.responseText)
。如果 xml 使用this.responseXML
。