我正在开发一个像facebook这样的社交网站。我在一个名为showdetails.php
的页面中有一个搜索栏,它应该在dropdown list like div which can be clicked for selection
中显示用户的名称(在数据库中),因为用户在搜索框中键入字母。我已经这样做了使用ajax。当我单击下拉列表中的特定用户名时,它会自动进入搜索框。我的问题是还有另一个div需要显示用户点击的所选用户的详细信息。我搜索了一个我不知道从ajax调用中返回两个不同的值,因为在我的知识var response = xmlhttp.responseText;
中,变量响应只能存储一个结果。
我的searchvalues.php
,其中包含搜索用户名的代码
$hint = "<table>";
while($row = mysql_fetch_array($result_query_get_following))
{
$act_fname = $row['acnt_fname'];
$act_lname = $row['acnt_lname'];
$act_name = $act_fname . ' ' . $act_lname;
$hint.= "<tr onClick='showVal(\"".$act_name."\");'><td >".$act_name."</td></tr>";
$following_id = $row['flwing_following_user_id'];
$following_member_class = $row['acnt_member_class'];
$following_profile_picture = $row['acnt_profile_picture'];
}
$hint .= "</table>";
}
if ($hint == "")
{
$response="no suggestion";
}
else
{
$response=$hint;
}
//output the response
echo $response;
我的javascript函数在showdetails.php中
function showVal(val)
{
document.getElementById("quicksearch").value=val;
document.getElementById("search").style.display="none";
}
答案 0 :(得分:6)
//服务器端:
$return_data['status'] = '0';
$return_data['msg'] = 'Your message.';
echo json_encode($return_data);exit;
//客户端
$.ajax({
dataType: "json",
type: "POST",
url: 'Your url',
data: ({parm1:value1,...}),
success: function (data, textStatus){
$("#div1").html(data.msg);
$("#input1").val(data.status);
}
});
答案 1 :(得分:0)
根据我的知识,从函数返回两个元素是不可能的。你可以做的是创建一个元素数组并返回该特定数组。
EG:鉴于这是PHP,因为您没有提供任何代码
function getXYZ()
{
return array(1,2,3);
}
list($x,$y,$z) = getXYZ();
您可以尝试JSON返回数据。
答案 2 :(得分:0)
<div id="user_detail"></div>
<script>
$("#clicked_user").click(function(){
var q = document.getElementById('clicked_user').value;
var loadUrl = "getuserinformation.php?query=q";
$.post
(
loadUrl,{language: "php", version: 5},function(responseText){$("#user_detail").html(responseText);},"html"
);
})
</script>
getuserinformation.php 中的通过$ _get获取查询参数,在此处查询并回显您希望在div中显示的信息