jQuery saisie semi-automatique ne s'affiche pas

À l'intérieur d'un dialogue jquery je voudrais utiliser le jquery fonctionnalité saisie semi-automatique de jqueryUI.

J'ai ensuite préparé une action dans mon Contrôleur (je suis en utilisant ASP.NET MVC2) qui est comme suit

public ActionResult GetForos(string startsWith, int pageSize)
{
    //get records from underlying store
    int totalCount = 0;
    string whereClause = "Foro Like '" + startsWith + "%'";
    List<Foro> allForos = _svc.GetPaged(whereClause, "Foro", 0, pageSize, out totalCount);

    //transform records in form of Json data
    List<ForoModelWS> foros = new List<ForoModelWS>();
    foreach ( Foro f in allForos)
        foros.Add( new ForoModelWS() { id= Convert.ToString(f.ForoId), 
            text= f.Foro + ", Sezione: " + f.Sezione + ", " + f.AuthorityIdSource.Name });

    return Json(foros);
}

La classe ForoModelWS est une simple classe utilisée uniquement pour contenir les données qui doivent être transférées en json. Ici, il est

public class ForoModelWS
{
    public string id;
    public string text;
}

Sur le côté client, j'ai le texte suivant jquery code:

<input id="theForo" />

<script type="text/javascript">
    $(document).ready(function() {

        $("#theForo").autocomplete({
            source: function(request, response) {
                $.ajax({
                    type: "post",
                    url: "/Foro/GetForos",
                    dataType: "json",
                    data: {
                        startsWith: request.term,
                        pageSize: 15
                    },
                    success: function(data) {
                        response($.map(data, function(item) {
                            return {
                                label: item.text,
                                value: item.text
                            }
                        }))
                    }
                })
            },
            minLength: 2,
            select: function(event, ui) {
            },
            open: function() {
                $(this).removeClass("ui-corner-all").addClass("ui-corner-top");
            },
            close: function() {
                $(this).removeClass("ui-corner-top").addClass("ui-corner-all");
            }
        });

    });
</script>

Mais la fenêtre coulissante avec le suggeestions n'apparaît pas. Si j'ai mis une alerte à l'intérieur de la fonction de réponse que je peux voir les données correctes.

Dois-je raté quelque chose?

Merci pour votre aide

1ère ÉDITION:
Par ailleurs, Comment modifier le code pour utiliser la propriété "id" de l'élément sélectionné dans la liste retournée?

2ème EDITION:
J'ai vérifié plus avec Chrome developer tool et j'ai vu que lors de la saisie semi-automatique démarre une erreur apparaît. suivantes:

Uncaught TypeError: Cannot call method 'zIndex' of undefined  @ _assets/js/jquery-ui-1.8.4.custom.min.js:317
Uncaught TypeError: Cannot read property 'element' of undefined @ _assets/js/jquery-ui-1.8.4.custom.min.js:321
Uncaught TypeError: Cannot read property 'element' of undefined @ _assets/js/jquery-ui-1.8.4.custom.min.js:320

Il semble que la saisie semi-automatique plugin ne pas trouver un élément lorsqu'il tente de définir le z-Index de la sole de glissement de la proposition 1 niveau de son conteneur. La première erreur apparaît lorsque le jquery UI boîte de Dialogue s'ouvre. L'entrée pour la saisie semi-automatique est à l'intérieur d'un onglet jquery qui est à l'intérieur d'un Dialogue jquery

3ème ÉDITION:
Je suis l'ajout de la balise HTML, pour être complet

<td width="40%">
   <%= Html.LabelFor(model => model.ForoID)%>
   <br />
   <%= Html.HiddenFor(model => model.ForoID) %>
   <input id="theForo" />
   <%= Html.ValidationMessageFor(model => model.ForoID, "*")%>
</td>
Le problème pourrait être lié au fait que vous l'utilisez à l'intérieur de la boîte de dialogue. Qu'advient-il si vous utilisez la saisie semi-automatique à l'extérieur de la boîte de dialogue? (en essayant de jeter des choses).
Semble ok pour moi. Est-il une erreur javascript? Est-ce votre css en le cachant ou quelque chose comme ça?
et Charlino: Veuillez vous référer à la question de la modifier

OriginalL'auteur Lorenzo | 2010-09-14