Автозаполнение Jquery не передает выбранное значение в частичное представление - PullRequest
0 голосов
/ 27 апреля 2018

Я пытаюсь реализовать ввод текста автозаполнения JQuery. Выбранное значение передается в частичное представление при нажатии кнопки, но оно не работает. Выбранное значение не передается в контроллер для визуализации в частичном представлении. Я хочу знать, как я могу это сделать.

Это мой код просмотра:

 <label class="col-lg-3 col-md-3 col-sm-3 col-xs-12 control-label" for="Teste">Aeroporto:</label>
    <div class="col-lg-5 col-md-5 col-xs-12 col-sm-12">
        <input id="aeroportoAutocomplete" type="text" class="form-control" name="AeroportoNome" />
    </div>

    <div class="form-group row">
        <div class="col-lg-12 col-md-12 col-xs-12 col-sm-12">
            <div class="pull-right">
                <input id="continuarBtn" type="button" value="Continuar" class="btn btn-primary"/>
            </div>
        </div>
    </div>

    <br />

    <div class="form-group row">
        <div id="formularioPesquisa">
        </div>
    </div>

Вот код автозаполнения JavaScript:

<script type="text/javascript">
    $(document).ready(function () {
        $("#aeroportoAutocomplete").autocomplete({
            source: function(request, response) {
                $.ajax({
                    url: "/DemandaAgregada/AeroportoAutocomplete",
                    type: "POST",
                    dataType: "json",
                    data: { termo: request.term },
                    success: function (data) {
                        response($.map(data, function (item) {
                            return {
                                label: item.OACI + " - " + item.AEROPORTO,
                                value: item.OACI + " - " + item.AEROPORTO
                            };
                        }))
                    }
                })
            },
            messages: {
                noResult: "",
                results: ""
            },
        });
    })
</script>

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

<script type="text/javascript">
    $(function () {
        $('#continuarBtn').click(function () {
            $.get('@Url.Action("FormularioPesquisa", "DemandaAgregada")', function (data) {
                $('#formularioPesquisa').replaceWith(data);
            });
        });
    });
</script>

Наконец, вот мои методы контроллера, которые выполняют автозаполнение и которые представляют частичное представление:

    [HttpPost]
    public JsonResult AeroportoAutocomplete(string termo)
    {
        var aeroportoDimensao = horaPicoDB.AeroportoDimensao;

        var aeroportos = (from aero in aeroportoDimensao
                          where aero.OACI.ToLower().Contains(termo.ToLower()) ||
                          aero.IATA.ToLower().Contains(termo.ToLower()) ||
                          aero.AEROPORTO.ToLower().Contains(termo.ToLower()) ||
                          aero.CIDADE.ToLower().Contains(termo.ToLower())
                          select new 
                          { 
                              aero.OACI,
                              aero.AEROPORTO
                          }).ToList();

        return Json(aeroportos, JsonRequestBehavior.AllowGet);
    }

    public ActionResult FormularioPesquisa(string AeroportoNome)
    {

        ViewBag.Message = "Aeroporto Nome: " + AeroportoOACI;

        return PartialView("FormPesquisaDemAgregada");
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...