【问题标题】:jQuery autocomplete : i can't see suggestionjQuery自动完成:我看不到建议
【发布时间】:2013-09-24 11:58:49
【问题描述】:

我想自动完成并从数据库中获取数据
这是我的代码:

<script src="js/jquery-1.9.1.js"></script>
<script src="js/jquery-ui.js"></script>
<script>
$(function() {
  $( "#tags" ).autocomplete({
    source: 'consultation/commande_tags.php'
  });
});
</script>


<form method="post" action="#" class="formstyle1">
<input type="type" name="piece_a_commander" id="tags" placeholder="Réference "  />
</form>

json 页面

 <?php
    if($_GET["term"]){
    include "includes/connexion_bdd.php";
    $ref=mysql_real_escape_string($_GET["term"]); 
    $rq_tags="SELECT * FROM piece WHERE reference_p LIKE '%".$ref."%'  ";
    $ret_tags=mysql_query($rq_tags) or die (mysql_error());
    $array = array();
    while ($tab_tags=mysql_fetch_array($ret_tags)){ 
    array_push($array,$tab_tags['reference_p']);
    }
    echo json_encode($array );
    }

    ?>

我看不到任何建议,请帮我看看错误在哪里?

【问题讨论】:

  • 源是自动建议的数组而不是 php 页面...你需要在页面加载时进行 ajax 加载然后将其放入数组中使用源中的数组然后它会起作用..检查一次 jqueryui.com/autocomplete
  • @nickle that is not true API 表明您可以有一个指向将返回 JSON 的资源的字符串

标签: javascript php jquery json autocomplete


【解决方案1】:

试试这个代码:

替换

$().ready(function() {
 $( "#tags" ).autocomplete("consultation/commande_tags.php", {
    width: 108,
    matchContains: true,
    //mustMatch: true,
    //minChars: 0,
    //multiple: true,
    //highlight: false,
    //multipleSeparator: ",",
    selectFirst: false
});
});

连接:

<?php
$host="localhost";
$user="root";
$pass="";
$bdd="paralel";

// connexion
$con = mysql_connect($host,$user,$pass)or die(mysql_error());

//selection bdd

$db = mysql_select_db($bdd,$con)or die(mysql_error());

?>

【讨论】:

  • 感谢 Mani 的快速回答,我尝试了您的代码,但当我在 php 页面中写入这一行时仍然出现同样的问题 或只需 ["kaka","koko","kiki"] 就可以了
  • 我看到问题出在数据库连接的包含上,我不擅长 JSON,所以我看不出这一行的问题在哪里 connexion_bdd.php 的内容是:
  • 像上面一样改变连接
  • 同样的问题,也许我应该将源更改为 ajax 回调?
猜你喜欢
  • 1970-01-01
  • 2011-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-08
  • 1970-01-01
相关资源
最近更新 更多