2010-03-25 2 views
0

Je souhaite utiliser le plug-in autocomplete pour que jQuery ne remplisse pas un, mais deux champs lors de la sélection de l'une des valeurs de saisie semi-automatique - le nom d'une bande est entré dans Le champ d'entrée #band, mais l'URL du groupe (s'il existe) devrait également être automatiquement ajouté au champ de saisie #url lors de la sélection du nom du groupe.jQuery: Utilisation de la saisie semi-automatique pour ajouter des valeurs à deux champs au lieu d'un

En ce moment, j'ai simplement une liste non assez dans un fichier php externe à partir de laquelle l'autocomplétion prend ses valeurs:

  $bands_sql = "SELECT bands.name, bands.url 
      FROM bands 
      ORDER BY name"; 
      $bands_result = mysql_query($bands_sql) or print (mysql_error()); 
      while ($bands_row = mysql_fetch_array($bands_result)) { 
       $band_name = $bands_row['name']; 
       $band_url = $bands_row['url']; 

       echo $band_name."\n"; #needs to be replaced with an array that holds name and url 
      } 

Ma fonction autocomplete regarde atmosphère très basique, mais comme je suis un débutant absolu quand il s'agit de jQuery (et aussi désemparé quand il s'agit de tableaux PHP), je n'ai aucune idée de comment lui dire de remplir deux champs et pas un.

   $(document).ready(function() { 
        $("#band").autocomplete('/autocomplete-bands.php'); 
       }); 

Est-ce encore possible ?!

Répondre

1

utilisation de vérifier que result hadler de sorte que vous pouvez faire ce que vous voulez une fois que le choix a été fait

1

Voici un exemple de ce que vous recherchez:

$("#band").autocomplete('/autocomplete-bands.php').result(function(event, data, formatted) { 
    if (data) 
     $('#url').(data['url']); 
    else { 
     // no data returned from autocomplete URL 
    } 
}); 

Je ne sais pas grand-chose à propos de php, mais quel que soit le format de vos données qui est retourné doit être mis où le data['url'] est actuellement afin de remplir l'entrée #url.