2013-08-29 6 views
0

Я пытаюсь использовать jQuery автозаполнения плагина, но мне это не удалось! Я прочитал много примеров, и мой код кажется правильным, но не работает!jquery autocomplete плагин не работает

Мой HTML-код:

<?php require_once 'header.php';?> 

<html> 

<head> 
    <title></title> 

    <script> 
     $("#country").autocomplete({ 
      source: "country_autocomplete.php", 
      autoFocus: true 
     }); 

    </script> 
</head> 
<body> 



<form action="" method="post" > 
<ul> 
    <li> 
     <label> E-mail:</label><input class="fr" type="text" name="uemail" size="60%"/> 
    </li> 
    <li> 
     <label> Phone:</label><input class="fr" type="text" name="uphonenum" size="60%"/> 
    </li> 
    <li> 
     <label> Firstname:</label><input class="fr" type="text" name="ufname" size="60%"/> 
    </li> 

    <li> 
     <label> Last name:</label><input class="fr" type="text" name="ulastname" size="60%"/> 
    </li> 
    <li> 
     <label> Country:</label><input class="fr" type="text" name="ucountry" id="country" size="60%"/> 
    </li> 
    <li> 
     <label> State or Province:</label><input class="fr" type="text" name="state" id="ustate" size="60%"/> 
    </li> 
    <li> 
     <label> City:</label><input class="fr" type="text" name="ucity" id="city" size="60%"/> 
    </li> 
    <li> 
     <label> Post-code:</label><input class="fr" type="text" name="upostcode" id="postcode" size="60%"/> 
    </li> 
    <li> 
     <label> Adress 1*:</label><input class="fr" type="text" name="uadrr1" size="60%"/> 
    </li> 
    <li> 
     <label> Adress 2:</label><input class="fr" type="text" name="uadrr2" size="60%"/> 
    </li> 
    <li> 
     <label> Compagny name:</label><input class="fr" type="text" name="ucompanyname" size="60%"/> 
    </li> 
    <li style="background-color: #000;"> 
     <input class="fr" type="submit" name="submitpwd" style="width: auto;" value="Update"/> 
    </li> 
</ul> 
</form> 

     </td> 
    </tr> 
</table> 



<?php require_once 'footer.php';?>  

</body> 
</html> 

Мой файл country_autocomplete.php является:

<?php 

define('DB_SERVER', 'localhost'); 
define('DB_USER', 'user'); 
define('DB_PASSWORD', 'pswd'); 
define('DB_NAME', 'db_name'); 

if (isset($_GET['term'])){ 


    try { 
      $conn = new PDO("mysql:host=".DB_SERVER.";port=8889;dbname=".DB_NAME, DB_USER, DB_PASSWORD); 
      $stmt = $conn->prepare('SELECT country.name FROM country WHERE country.name LIKE :term'); 
      $stmt->execute(array('term' => $_GET['term'].'%')); 

      $result = $stmt->fetchAll(); 

      if (count($result)) { 
      foreach($result as $row) { 
       echo json_encode($row); 
      } 
      } else { 
      echo "No rows returned."; 
      } 
     } catch(PDOException $e) { 
      echo 'ERROR: ' . $e->getMessage(); 
     } 
} 


?> 

Может кто-нибудь сказать мне, что это не так ??

+0

Где ссылается скрипт на JQuery и jQueryUI ? – Yeronimo

+0

все необходимые сведения содержатся в header.php –

+0

Пожалуйста, определите «не работает». Кроме того, вы отметили вопрос с помощью «MySQL», действительно ли проблема с MySQL (другими словами, действительно ли SQL-запрос * не возвращает возвращаемые строки)? – RandomSeed

ответ

0

Он не похож на ваш PHP выводит массив строк или массив объектов вида {этикетки: этикетки, значение: значение}. (Кроме того, разметка, как представлено выше, не хорошо сформированы, но я предполагаю, что-то просто не вставили.) Попробуйте что-то вроде этого (не проверено):

if (count($result)) { 
     echo json_encode($result); 
     } 
+0

Спасибо @AvramLavinsky, но это тоже не работает –

+0

@OlgaAnastasiadou Каков точный вывод вашего php-скрипта? Если он выводит что-то правильно, вы можете проверить тип содержимого страницы? – CronosS

Смежные вопросы