2011-04-12 3 views
0

salut tous i besoin auto simple, suggère le code que j'ai essayé avec jquery.autocomplete.js ne reçois pas ce que je dois faire code: - index.jspAutocomplete recherche

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 

<html> 

<head> 

    <link rel="stylesheet" type="text/css" href="style.css" /> 

    <script type="text/javascript" src="jquery-1.3.2.min.js"></script> 

    <script type="text/javascript" src="jquery.autocomplete.js"></script> 

</head> 

<body> 

    <div style="width: 300px; margin: 50px auto;"> 

     <b>Country</b> : <input type="text" id="country" name="country" class="input_text"/> 

    </div> 



</body> 

<script> 

    jQuery(function(){ 

     $("#country").autocomplete("list.jsp"); 

    }); 

</script> 


</html> 


and list.jsp 
<%@page import="java.util.Iterator"%> 

<%@page import="java.util.List"%> 

<%@page import="java.util.ArrayList"%> 

<% 

    String countries[] = { 

          "Afghanistan", 

          "Albania", 

          "Algeria", 

          "Andorra", 

          "Angola", 

          "Antigua and Barbuda", 

          "Argentina", 

          "Armenia", 

          "Yemen", 

          "Zambia", 

          "Zimbabwe" 

          }; 



    String query = (String)request.getParameter("q"); 

    System.out.println("1"+request.getParameterNames().nextElement()); 

    response.setHeader("Content-Type", "text/html"); 

    int cnt=1; 

    for(int i=0;i<countries.length;i++) 

    { 

     if(countries[i].toUpperCase().startsWith(query.toUpperCase())) 

     { 

      out.print(countries[i]+"\n"); 

      if(cnt>=10) 
       break; 

      cnt++; 

     } 

    } 

%> 

il y a un plus de style .css est là mais il ne montre rien pendant l'exécution note tout le fichier source est présent dans le même dossier s'il vous plaît dites-moi où je manque

+0

Il n'est pas clair où le problème est pour le moment. Essayez et simplifiez la solution pour affiner l'emplacement possible du problème. Démontrer d'abord que le côté client fonctionne bien en éliminant la requête côté serveur en utilisant l'option "source" - $ ("input # autocomplete"). Autocomplete ({source: ["Afghanistan", "Albanie", "Andorra" ]}); Vérifiez ensuite que le côté serveur fonctionne correctement en l'appelant avec un simple appel $ .ajax. Ensuite, essayez et ajuster les deux ensemble. Il est probable que le format des résultats renvoyés par le serveur soit différent de celui attendu par le plugin autocomplete. –

Répondre

1

Selon la documentation de saisie semi-automatique, vous avez besoin d'un objet json JavaScript. Ceci est un conteneur pour toutes vos données. Ce conteneur me manque dans le code source que vous avez posté.

Si vous cliquez sur Demos of utocomplete, faites défiler jusqu'à la fin de cette page. Je pense que la dernière démo représente ce que vous cherchez.

+0

je ne sais pas comment utiliser ce type suis vraiment nouveau dans ce que vous pouvez me donner un code simple pour cela son exigence très urgente – vijauuu

+1

Il ne peut pas être si urgent si un nouveau venu à la technologie a été invité à l'implémenter. –

+0

sa partie du projet et je ne sais pas à propos de l'option de saisie semi-automatique – vijauuu

0
<% 
String countries[] = {"Afghanistan","Albania","Algeria","Andorra","Angola","Antigua and Barbuda","Argentina","Armenia","Yemen","Zambia","Zimbabwe"}; 
String query = (String)request.getParameter("q"); 
response.setHeader("Content-Type","text/html"); 
String javascriptContent = new String (""); 
int cnt = countries.length; 
if(cnt > 10) 
{ 
    cnt = 10; 
} 
for(int i=0;i<cnt;i++) 
{ 
    if(countries[i].toUpperCase().startsWith(query.toUpperCase())) 
    { 
     javascriptContent.concat(countries.get(i)); 
     if (i < (cnt -1)) 
     { 
      javascriptContent.concat(","); 
     } 
    } 
} 
%> 
<html> 
<head> 
    <script src="http://code.jquery.com/jquery-latest.js"></script> 
    <link rel="stylesheet" href="http://dev.jquery.com/view/trunk/plugins/autocomplete/demo/main.css" type="text/css" /> 
    <link rel="stylesheet" href="http://dev.jquery.com/view/trunk/plugins/autocomplete/jquery.autocomplete.css" type="text/css" /> 
    <script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/autocomplete/lib/jquery.bgiframe.min.js"></script> 
    <script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/autocomplete/lib/jquery.dimensions.js"></script> 
    <script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/autocomplete/jquery.autocomplete.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function(){ 
      var data = "<%= javascriptContent %>".split(","); 
      $("#country").autocomplete(data); 
     }); 
    </script> 
</head> 
<body> 
    <b>Country</b> : <input type="text" id="country" name="country" class="input_text"/></div> 
</body> 
</html> 

Ici, ils sont amusants. J'ai copié le code source athe html à partir de la page principale de saisie semi-automatique. Veuillez d'abord vérifier la syntaxe java.

+0

erreur d'affichage Une erreur s'est produite à la ligne: 1 dans le fichier jsp: /ajax/post.jsp Erreur de servlet générée: C: \ Program Files (x86) \ Apache Software Foundation \ Tomcat 5.0 \ work \ Autonome \ localhost \ CORE \ org \ apache \ jsp \ ajax \ post_jsp.java: 55: impossible de résoudre le symbole méthode getString (int) emplacement: class java.lang.String [] javascriptContent.concat (countries.getString (i)); ^ 1 erreur – vijauuu

+0

son message d'erreur d'affichage je l'ai stocké dans un seul post.jsp page – vijauuu

+0

Comme vous pouvez le voir, il n'y a pas d'importations. Alors ajoutez les importations à la page. Si vous ne connaissez pas les importations appropriées, utilisez google.com ant type dans les mots-clés "java api". Pour la méthode concat(), vous avez besoin de l'import 'java.lang.String' – reporter

Questions connexes