我有一个表单,其中有一个下拉列表和几个文本字段。在同一页面中,我在表单下方创建了一个表格,以显示与表单一起插入的数据。该表一开始是空的,现在,我要做的是仅显示与下拉列表中所选项目相关的记录。为了澄清事情,让我举一个简单的例子:
- 下拉列表=>客户列表
- 表=>客户详细信息
一旦我选择了一个客户,他的详细信息必须出现在表格中。那么,如何做到这一点?
尝试这个
<select onchange="return getval(this);">
<option value="">Select</option>
<option value="1">One</option>
<option value="2">Two</option>
</select>
<div id="clientdetails"></div>
<script type="text/javascript">
function getval(sel) {
var client = sel.value;
var htm = $.ajax({
type: "POST",
url: "client.php",
data: "client=" + client,
async: false
}).responseText;
if(htm)
{
$("#clientdetails").html(htm);
return true;
// Uncomment the following line in your application
//return true;
}
else
{
$("#clientdetails").html("no result found");
return false;
}
}
PHP代码
<?php
// database connection
$client_id = $_REQUEST['client'];
$sql = mysql_query("select * from your_table where your_id =".$client_id);
$res=mysql_fetch_assoc($sql);
echo "Client_id :" .$res['id'];
......
?>
你可以这样做,
<select name="demo" id="demo" onchange="callAjax();">
JS/jQuery
function callAjax() {
$.ajax({
type: 'GET',
url: destinationUrl, // call your php file
data: content, // pass the parameters needed in php, select option values
cache: false,
success: function (data) { // echo the table html from your php file
$('#SuccessDiv').html(data); //data is populated in `successDiv`
}
});
}