1

我对 JSON 和 jQuery 比较陌生。我需要做一个 jQuery 自动完成,为此我放了:

<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>


<script>
jQuery(document).ready(function($){
    $('#executives').autocomplete({source:'search_executives.php', minLength:2});
});
</script>

在 HTML 中:

<div class="rows">
    <div class="labels">Search</div>
    <div class="textboxs" style=" width: 175px;"><input id="executives" name="executive" /></div>
</div>

search_executives.php的是:

<?php
session_start();
    if(empty($_SESSION['userid'])){
        header('Location:index.php');
        exit();
    }
include_once('include/config.php'); 

$qry = "SELECT employee_id,fname,mname,lname FROM personal_details WHERE deg_id = '1'";

$res = $dbo->executeQuery( $qry ) ;

//$results[] = array('label' => $row['name']);

for( $i = 0; $i < count( $res ); $i++ )
{
    $result[] = array( 'label' => $res[$i]['fname'].' '.$res[$i]['mname'].' '.$res[$i]['lname'] , 'value' => $res[$i]['employee_id'] ) ;
}

echo json_encode($result);
?>

现在我的问题是——

  1. 它输出所有结果,它不依赖于我输入的搜索字符串。
  2. 它在 HTML 的文本字段中打印value(例如 3 )。我需要以employee_id他的值打印高管的姓名。

注意:第一部分已解决。我忘了添加LIKE条件SQL

4

2 回答 2

1

您必须将输入的值设置为label,然后employee_id在选择项目时使用另一个字段来存储 :

select: function(e, ui) {
  e.preventDefault();
  this.value = ui.item.label;
  $('#other_field').val(ui.item.value);
}

这是一个例子

于 2013-06-28T07:47:26.670 回答
0

您正在使用输入文本框。

文本框的 value 属性出现在前端文本框中,您无法更改它。(即)你的情况下的employee_id。

于 2013-06-28T07:25:09.550 回答