2012-08-10 3 views
2

Je construis un site Web pour apprendre le codage et j'ai une saisie semi-automatique basé sur de Jquery ui que je peuplant trois tables MySQL.Somethings mal avec autocomplete

Voici mon code sur index.php (la page où ma boîte de recherche est et doit être saisie semi-automatique sur)

<script src="./public/js/jquery.js"></script> 
    <script src="public/js/jquery-ui-1.8.22.custom.min.js" type="text/javascript" charset="utf-8"></script> 
    <script> 
    $(function() { 

      $("#search").autocomplete({ 
      source: "suggest.php", 
      minLength = 2, 
      select: function(event, ui) { 
        log(ui.item ? 
         "Selected: " + ui.item.value + aka " + ui.item.id : 
         "Nothing selected, input was " + this.value); 
        } 
      }); 

    }); 
    </script> 

Heres le code sur index.php qui est la forme:

<form class="form-search span8 offset6"> 
    <input type="text" id='search' name='q' autocomplete="off" class="input-medium search-query"> 
    <button type="submit" class="btn btn-warning">GO!</button> 
</form> 

Heres le code sur suggest.php:

<?php 

require("./config.php"); 

$q = $_GET['q']; 

$names = ''; 

$result = mysql_query("SELECT name FROM company WHERE name LIKE '$q%' UNION SELECT cat FROM cat WHERE cat LIKE '$q%' UNION SELECT subcat FROM subcat WHERE subcat LIKE '$q%' LIMIT 10"); 

$names = array(); 

while ($row = mysql_fetch_array($result)) { 
    $names[] = $row['name']; 
} 

echo json_encode($names); 
?> 

Si je vais directement à suggest.php q = CHOSE et font écho les noms $, voici ce qui sort:

["City Market","Cafes","Cheesesteaks","Chicken Wings","Chinese","CSA","Coffee & Tea","Convenience Stores","Comedy Clubs"]Array 

Quand j'ouvre le panneau de développeur dans Chrome il y a une erreur à côté du JQuery pour la autosuggest disant « Uncaught SyntaxError: jeton inattendu = »

Mon autosuggest ne s'affiche pas. Qu'est-ce qui ne va pas?

Merci pour toute aide!


J'ai changé les = à: et maintenant la nouvelle erreur est « jeton inattendu illégale » et le autocomplet est toujours pas apparaître ... Des suggestions?

+0

Sur curiousity, pourquoi êtes-vous à la fois la représentation faisant écho JSON de votre tableau et le tableau lui-même dans votre PHP? –

+0

l'erreur dit tout – Don

+0

@anthony, oups désolé j'avais que les noms de $ echo dernière juste pour les tests ... ne devraient pas être là-bas – infinity

Répondre

8

Vous avez un signe égal dans le minLength, devrait être deux points

$(function() { 

     $("#search").autocomplete({ 
     source: "suggest.php", 
     minLength: 2, 
     select: function(event, ui) { 
       log(ui.item ? 
        "Selected: " + ui.item.value + aka " + ui.item.id : 
        "Nothing selected, input was " + this.value); 
       } 
     }); 

}); 
+0

Belle prise, bon travail. –

+0

@Vic Merci, je viens de régler cela. Malheureusement, la saisie semi-automatique ne s'affiche toujours pas. Aucune suggestion? – infinity

+0

Maintenant, la nouvelle erreur est un jeton inattendu illégal – infinity