为什么我的自动完成脚本(jquery)在我的网站上不起作用?

时间:2011-10-16 06:46:57

标签: php jquery

我从网上下载了一个自动完成(jQuery脚本)表单。我正在使用wamp phpmyadmin服务器在我的计算机上测试我的网站(php和mysql)。当我在我的wamp服务器中使用自动完成表单时,它工作正常,但当我上传到实际的网站服务器时,脚本无法正常工作。我无法找到问题,它没有显示错误。你能帮我吗

这是我的html脚本

  <script type="text/javascript" src="js/jquery-1.4.2.js"></script>
  <script type='text/javascript' src="js/autocomplete.js"></script>
  <link rel="stylesheet" type="text/css" href="css/autocomplete.css" />

  <script type="text/javascript">
      $().ready(function() {
          $("#name").autocomplete("php/autocompletion.php",{
              width: 260,
              matchContains: true,
              //mustMatch: true,
              //minChars: 0,
              //multiple: true,
              //highlight: false,
              //multipleSeparator: ",",
              selectFirst: false
          });
      });
  </script> 

autocompletion.php文件

  <?php
  $host="localhost"; // Host name
  $username="name"; // Mysql username
  $password="password"; // Mysql password
  $db_name="dbname"; // Database name

  $con = mysql_connect($host,$username,$password)   or die(mysql_error());
  mysql_select_db($db_name, $con)  or die(mysql_error());

  $q = strtolower($_GET["q"]);
  if (!$q) return;

  $sql = "SELECT DISTINCT 'name' AS 'name' FROM 'name' Where 'name' LIKE '%$q%'";
  $rsd = mysql_query($sql);
  while($rs = mysql_fetch_array($rsd)) {
      $cname = $rs['name'];
      echo "$cname\n";
  }
  ?>

2 个答案:

答案 0 :(得分:2)

尝试使用就绪函数$(document).ready(function() {

答案 1 :(得分:1)

如果它在您自己的服务器中工作,但在网站中没有,则您提供的网址可能不在网站的同一位置。你确定在服务器中调用了php / autocompletion.php吗?它可以在html中有一个BASE_HREF os,导致找不到正确的路径。

尝试将url完成http://myserver.com/php/autocompletion.php并尝试从浏览器调用php以查看结果。 http://myserver.com/php/autocompletion.php?q=word