私はjqueryのオートコンプリート機能を使用していますが、ドロップダウンリストから何かを選択すると、入力フィールドにラベルではなく値が入力されることを除いて、うまく機能しています。
私のコードは次のとおりです。
<?php
$query = mysql_query("SELECT users.* FROM users JOIN peers ON peers.peer = users.user_id WHERE peers.user_id = '".$_SESSION['id']."'")or die(mysql_error());
$count = mysql_num_rows($query);
$i = 0;
while($row = mysql_fetch_assoc($query))
{
$first[$i] = $row['first_name'];
$last[$i] = $row['last_name'];
$user_id[$i] = $row['user_id'];
$i++;
}
$data = "";
for($i=0;$i<$count;$i++)
{
if($i != ($count-1))
{
$data .= '{ value: '.$user_id[$i].', label: "'.$first[$i].' '.$last[$i].'" }, ';
} else
{
$data .= '{ value: '.$user_id[$i].', label: "'.$first[$i].' '.$last[$i].'" }';
}
}
?>
<script type="text/javascript">
$("#auto").autocomplete({
source: data,
select: function(event, ui)
{
var id = ui.item.value;
var name = ui.item.label;
}
});
</script>
<input type="text" value="Enter a connection's name" id="auto" />