我有这个Jquery自动搜索功能,它给我带来了resuts但是我更喜欢从数据库中选择硬编码而不是硬编码的可用标签。
<script>
$(document).ready(function(){
$("#tabs").tabs();
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"Scheme"
];
$("#autocomplete").autocomplete({
source: availableTags
});
});
</script>
你能提出解决方案吗?我需要JSON还是别的什么?
答案 0 :(得分:1)
将源更改为php文件,搜索数据库并返回结果:
$("#autocomplete").autocomplete({
source: search.php
});
的search.php
//get your stuff from the database and build an array
$array = array(
0 => array(
"label" => "item #1",
"value" => 123
),
1 => array(
"label" => "item #2",
"value" => 111
),
2 => array(
"label" => "item #3",
"value" => 222
)
);
echo json_encode($array);
答案 1 :(得分:1)
首先创建index.php并编写下面的代码。
<html>
<body>
<input type="text" class="autosuggest"/><input type="submit" value="search"/>
<div class="dropdown">
<ul class="result"></ul>
</div>
<script src="jquery-1.8.2.min.js"></script>
<script src="javascrip.js"></script>
</body>
</html>
比创建javascript.js并编写下面的代码。
$(document).ready(function() {
$('.autosuggest').keyup(function() {
var search_term=$(this).attr('value');
$.post('search.php', {search_term:search_term},function(data){
$('.result').html(data);
$('.result li').click(function(){
var result_value=$(this).text();
$('.autosuggest').attr('value', result_value);
$('.result').html('');
});
});
});
});
最后创建search.php并编写下面的代码。
<?php
$con=mysql_connect('localhost','root','') or die(mysql_error());
$db=mysql_select_db('your database name');
if(isset($_POST['search_term']))
{
$search_term=mysql_real_escape_string($_POST['search_term']);
$query=mysql_query("SELECT Names FROM `name` WHERE `Names` LIKE '$search_term%'");
while($row=mysql_fetch_array($query)){
echo '<li>',$row['Names'],'</li>';
}
}
?>
我认为这就是你需要的东西。