none
Problema con Autocompletar al seleccionar el registro RRS feed

  • Pregunta

  • Amigos una vez mas recurro a ustedes para solicitar ayuda.

    1.- tengo un campo  @Html.EditorFor de nombre CodigoPostal, lo que hago ahi es un autocompletar

    2.- La ayuda que necesito es que al seleccionar el registro del campo anterior me llene otros campos de tipo  @Html.EditorFor y de nombres Delegacion, Estado,  pero al seleccionar el registro me muestra el siguiente error.

    rresta es la imagen

    Este es mi java script

    <script>
            $('#CodigoPostal')
            .autocomplete({
                source: '@Url.Action("GetCodigoPostal", "Proveedores")',
                select: function (event, ui) {
                    $('#Colonia').val(ui.item.id);
                    $('#CodigoPostal').val(ui.item.value);
                    $.ajax({
                        cache: false,
                        async: false,
                        type: "POST",
                        url: "@(Url.Action("GetDatosCodigoPostal", "Proveedores"))",
                        data: { "CodigoPostalId": ui.item.dd },
    
                        success: function (data) {
                            $(data.d).each(function (index, item) {
                                alert('Entra' + item.Colonia);
                                $('#Colonia').val(item.Colonia);
                                $('#Delegacion').val(item.Delegacion);
                                $('#Municipio').val(item.Municipio);
    
                                action = action = data.Action;
                            });
                        },
                        error: function (xhr, ajaxOptions, thrownError) {
                            alert('Failed to retrieve states.');
                        }
                    });
                }
            });
        </script>
    }

    y estos son los Procesos en el Controlador.

     public JsonResult GetCodigoPostal(string term)
            {
                var Result = from c in db.MtoCodigoPostales
                              where c.CodigoPostal.ToString().Contains(term)
                              orderby c.CodigoPostal
                              select new Item { 
                                  id = c.MtoCodigoPostalId.ToString(),
                                  value= c.CodigoPostal.ToString()};
    
                return Json(Result.Take(10).ToList(), JsonRequestBehavior.AllowGet);
            }

    y este es el que optiene el detalle del cdigo postal seleccionad

    public JsonResult GetDatosCodigoPostal(int CodigoPostalId)
            {
                var Result = from c in db.MtoCodigoPostales
                             where c.MtoCodigoPostalId == CodigoPostalId
                             orderby c.CodigoPostal
                             select new Item
                             {
                                 Colonia = c.Colonia.ToString(),
                                 Municipio = c.Municipio.ToString(),
                                 Estado = c.Estado.ToString()
                             };
    
                return Json(Result, JsonRequestBehavior.AllowGet);
            }

    Podrían Echarme una mano, como siempre muchas gracias.


    Horacio Xochitemol Bautista

    lunes, 15 de mayo de 2017 16:42