2011-03-18 14 views
6

estoy usando autocompletar jQuery pero tener Dificultad para cargar el autocompletar en el cuadro de textousando jQuery autocompletado dificultad

Mi modelo es el siguiente:

Users = new List<string>(); 
foreach (var item in User.LoadSortedByName()) 
{ 
    Users.Add(item.Name+"\n"); 
} 

Vista:

<p>@Html.TextBox("user", "") 
$(function() { 
      $("input#user").autocomplete('@Model.Users'); 
}); 

ACTUALIZACIÓN: INTENTO SIMPLIFICADO Y TODAVÍA NO FUNCIONA

_layout

<script src="@Url.Content("~/Scripts/jquery.autocomplete.js")" type="text/javascript"></script> 

View 


    <p><input type="text" id="tags" /></p> 

<script type="text/javascript"> 
    $(function() { 
      var availableTags = [ 
      "ActionScript", 
      "AppleScript", 
      "Asp", 
      "BASIC", 
      "C", 
      "C++", 
      "Clojure", 
      "COBOL", 
      "ColdFusion", 
      "Erlang", 
      "Fortran", 
      "Groovy", 
      "Haskell", 
      "Java", 
      "JavaScript", 
      "Lisp", 
      "Perl", 
      "PHP", 
      "Python", 
      "Ruby", 
      "Scala", 
      "Scheme" 
     ]; 
     $("#tags").autocomplete({ 
      source: availableTags 
     }); 


    }); 
+0

@ user281180 - ¿Ha hecho algún progreso con esto? –

+0

@Sergi, gracias por el ejemplo. He intentado con un ejemplo simple de autocompletado, y parece que la autocompleta no funciona en absoluto. Por favor, mira mis códigos, aunque me estoy refiriendo al jquery.autocomplete.js, parece que no funciona. Por favor, mira mi prueba de trabajo como la anterior, no puedo entender por qué no está funcionando. – learning

+0

@Sergi, modifiqué los códigos, ahora con una simple prueba, parece que el autocompletado no funciona en absoluto. por favor vea los nuevos códigos – learning

Respuesta

16

En realidad, debería adjuntar el comportamiento de autocompletar a su cuadro de texto.

Dicho esto, la versión de autocompletar incluida en la biblioteca de jQuery no es totalmente sencilla si me preguntas.

$("input#user").autocomplete({ 
    source: function (request, response) { 
     // define a function to call your Action (assuming UserController) 
     $.ajax({ 
      url: '/user/GetUsers', type: "POST", dataType: "json", 

      // query will be the param used by your action method 
      data: { query: request.term }, 
      success: function (data) { 
       response($.map(data, function (item) { 
        return { label: item, value: item }; 
       })) 
      } 
     }) 
    }, 
    minLength: 1, // require at least one character from the user 
}); 

En su controlador, defina lo siguiente acción

public ActionResult GetUsers(string query) 
{ 
    var users = (from u in User.LoadSortedByName() 
       where u.Name.StartsWith(query) 
       orderby u.Name // optional but it'll look nicer 
       select u.Name).Distinct().ToArray(); 

    return Json(users); 
} 

Esta aplicación no permitirá que múltiples valores en el cuadro de texto; para ejemplos de cómo hacer que comprueban la ACTUALIZACIÓN jQuery autocomplete examples

basado en resolución final

Asegúrate de que tienes una referencia a la interfaz de usuario jQuery Core.

Desde el Microsoft CDN:

<script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.11/jquery-ui.min.js" type="text/javascript"></script>` 

Desde el CDN de Google:

<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js" type="text/javascript"></script> 

o descargarlo a sí mismo de la official jQuery UI Page

0

No te creo "carga en el cuadro de texto", pero más "autocompletar atribuyo a" la caja de texto. Pruebe la creación de una matriz de JavaScript para las "respuestas" a la autocompletar.

También ayudaría saber si utiliza jQuery UI o la versión del plugin anterior de autocompletar.

1

he desarrollado una extensión html en forma de plug-in, para usar el autocompletado de jquery ui pero de una manera muy simple y dinámica. la sintaxis era algo como esto aquí

 [email protected](model => model.Id, x => x.Code , "List") 

Salí de todo el código fuente disponible (se admiten sugerencias) y un archivo zip que contiene todos los archivos necesarios. Espero que ayude! archivos

URL Proyecto http://autocompletemvc.codeplex.com/releases/view/70140

Bin http://autocompletemvc.codeplex.com/releases/70140/download/259741

+1

La dependencia de su ayudante en vistas parciales la hace casi inutilizable. –

Cuestiones relacionadas