输入1字符时,显示空白,标签在自动完成时缺失。如何设置自动完成的标签。但价值观正在到来。 这是带有输入类型文本的表单字段。
<span>
<img src="images/author2.jpg" width="50" /> //in Database i have profilepic/userimage.jpg and the image shown in above is a static image.
<input class="searchStudent" type="text" autocomplete="off">
</span>
我已输入字母“A”,响应将以数组形式出现。我想显示用户的照片和名称,我该怎么做...?
这是我从脚本中获取详细信息:
/*Search Student starts here*/
$(document).on("focus keyup", "input.searchStudent", function (event) {
$(this).autocomplete({
source: 'gdcontroller.php?action=search',
select: function (event, ui) {
event.preventDefault();
this.value = ui.item.label;
},
focus: function (event, ui) {
event.preventDefault();
this.value = ui.item.label;
}
});
});
/*Search Student ends here*/
这是我的控制器,在这里我正在搜索名为“A”的学生并获取他们的详细信息:
if($_GET['action']=="search" && $_GET['term']!='')
{
$keysearch = $_GET['term'];
$studentValue = trim($_GET['studentname']);
$studentsQuery =$conn->query('select s.student_pid,i.email,s.student_email,s.student_fname,s.student_lname,s.profile_pic from r_job_invitations i
LEFT JOIN tbl_students s ON i.email = s.student_email where i.id_job =54 and accounttype = 1 and inv_res = 1 and student_fname LIKE "'.$keysearch.'%" OR student_lname LIKE "'.$keysearch.'%" ')or die(mysqli_error());
$studentData = array();
while($student = $studentsQuery->fetch_assoc()){
$studentData[]= $student;
}
echo json_encode($studentData);
exit;
}
答案 0 :(得分:3)
尝试此函数mysql_real_escape_string()
答案 1 :(得分:2)
您的回复应该是一个JSON对象(数组),其中每个项目都是id
,label
和value
个键的对象。
$studentData
数组中的每个项都应包含这些键,以便自动填充显示数据。
我不确定您要显示哪些内容,但您可以尝试以下方式:
while($student = $studentsQuery->fetch_assoc()){
$student['id'] = $student['student_pid'];
$student['label'] = $student['student_fname'];
$student['value'] = $student['student_fname'];
$studentData[]= $student;
}
您应该使用这些值来显示您想要的内容。