ユーザーが入力している間に結果を返す(オートコンプリート)Facebookのような検索を実装しようとしています。ここに私が使用しているjqueryコードがあります:
$(document).ready(function(){
$("#searchField").keyup(function()
{
var searchbox = $(this).val();
if(searchbox=='')
{
$("#searchDisplay").html('').hide();
}
else
{
$.ajax({
url: "ajax/?do=search_users&q="+ searchbox+"",
//data: dataString,
cache: false,
success: function(html)
{
$("#searchDisplay").html(html).show();
}
});
}return false;
});
});
$("#searchField").focusout(function(){
$("#searchDisplay").slideUp();
});
$("#searchField").focus(function(){
if($("#searchDisplay").html() != ''){
$("#searchDisplay").slideDown();
}
});
返される結果は div 構造です。どうすればよいかわかりませんが、ユーザーがキーボードの [UP] キーと [DOWN] キーを使用して結果を確認し、[ENTER] ボタンを押して結果を選択できるようにすることです。
追加情報
ここにあるdisplay_box
:
<div id="searchDisplay">
echo '<a href="'.$_config['http'].$username.'"><div class="display_box" align="left">';
echo '<img src="'.$img.'" style="width:25px; float:left; margin-right:6px" />';
echo $name.'<br/>';
echo '<span style="font-size:9px; color:#999999">'.$username.'</span></div></a>';
</div>
HTML マークアップ
<a href="ahoora"><div class="display_box" align="left">
<img src="http://domain.com/upload/thumbs/ahoora_1336145552.jpg" style="width:25px; float:left; margin-right:6px">
<strong>a</strong>hour<strong>a</strong><br>
<span style="font-size:9px; color:#999999"><strong>a</strong>hoor<strong>a</strong></span>
</div></a>
各結果には上記の html コードがあり<div>
、id=searchDisplay
.
*php のエコー部分には while ループがあることに注意してください。上記のコードは、html がどのように表示されるかを示したものです (searchDisplay は結果と同じページにありません。jquery コードを確認してください)。