Использование Jquery Auto Complete - PullRequest
2 голосов
/ 03 марта 2012

Я скачал исходные файлы для автозаполнения jquery для использования в MVC3.Прямо сейчас у меня есть DropDownListFor с новым SelectList (ViewBag.teachertype).

1-й вопрос: Как я могу изменить приведенный ниже html-код для работы с моим ViewBag?Я должен принести мои имена из моей сумки для просмотра, хотя.

   <script type="text/javascript">
     $(function () {
    var availableTags = [ "kelly", "joe", "tony", "Billy"];
    $("#tags").autocomplete({
        source: availableTags
    });
});
</script>

1 Ответ

3 голосов
/ 03 марта 2012

Ваши данные "ViewBag" должны быть в правильном формате, чтобы плагин автозаполнения работал. Вот быстрый пример, который преобразует массив «типов учителя» в массив javascript:

public ActionResult Index()
{
    var types = new string[] {"Kindergarten", "HighSchool", "preschool" };
    var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
    ViewBag.teachertype = serializer.Serialize(types);
    return View();
}

В связанном представлении следующее создаст текстовое поле, подключенное к плагину автозаполнения jquery вместе с типами учителей, установленными в контроллере:

@Html.TextBox("teachertype")

<script type="text/javascript">

    $(function() {
        var types = @Html.Raw(ViewBag.teachertype);
        $("#teachertype").autocomplete({
            source: types 
        });
    });

</script>

Кстати, использование словаря ViewData (ViewBag - просто динамический тип) в конечном итоге вызовет у вас головную боль. IMO, вам лучше создать модель представления и включить ваши «типы учителей».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...