0

我有这个 Jquery 自动搜索功能,它给我带来了结果,但我宁愿从数据库中选择它们,而不是硬编码的 availableTags。

<script>
    $(document).ready(function(){
        $("#tabs").tabs();

        var availableTags = [
            "ActionScript",
            "AppleScript",
            "Asp",
            "BASIC",
            "C",
            "C++",
            "Clojure",
            "Scheme"
        ];

        $("#autocomplete").autocomplete({
            source: availableTags
        });
    });
</script>   

你能提出一个解决方案吗?我需要 JSON 还是其他东西?

4

2 回答 2

1

将源代码更改为 php 文件,您可以在其中搜索数据库并返回结果:

$("#autocomplete").autocomplete({
    source: search.php
});

搜索.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);
于 2013-08-31T11:07:46.740 回答
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>';
}
}
?>

我想这就是你需要的兄弟。

于 2013-08-31T11:29:57.373 回答