我正在使用jquery autosuggest,并希望在所有项目出现之前添加默认标题。例如,当用户开始搜索时,第一个下拉项将显示“我们建议:”,然后是项目列表。这是我目前拥有的
$term=$_GET["term"];
$ query = mysql_query(“SELECT DISTINCT region
FROM business region
喜欢'$ term%'limit 10”);
$ JSON =阵列();
while($region=mysql_fetch_array($query)){
$json[]=array(
'value'=> $region["region"],
'label'=>$region["region"]
);
}
echo json_encode($ json);
我对php和jquery有一个合理的理解,但不是json
感谢您的帮助
答案 0 :(得分:0)
新答案: 我之前可能误解了你的问题。也许你只是要求这个:
$( "#mylist" ).autocomplete({
source: myjsonarray,
open: function( event, ui ) {
$('.ui-autocomplete').find('li:first').prepend("<div>We Suggest:</div>")
}
});
访问“打开”事件,在第一个列表项之前添加div。
老答案:
//make an empty container
$myresults=array();
//manually create your first item
$myfirstitem=array("value"=>"We suggest","label"=>"We suggest")
//put your first item in the container
array_push($myresults,$myfirstitem);
// fetch your data
while $result=mysql_query("SELECT phrase from mytable"){
//put each item in the container
array_push($myresults,array(
"value"=>$result,
"label"=>$result
));
}
//$myresults is now full of phrases.
///Uncomment this to check it if you want.
//var_dump($myresults);
//encode and echo your result
echo json_encode($myresults);
上面的代码说明了一种做你想做的事情的方法。话虽如此,我可能不会把“我们建议”作为一个实际的选择...如果你提出一个棒球卡列表,用户选择“我们建议”作为他们的最爱是没有意义的棒球卡...
另外,不要让json打扰你 - 这只是一个“符号”。这个例子很简单 - 想一想,并将其用作任何其他数组。
您也可以更有效地执行此操作 - 您无需返回标签和值......但这是另一个对话。
此外,不要使用mysql_ *函数也很重要。看看mysqli和pdo。
祝你好运,我希望有所帮助。