none
Ayuda con resultado de consulta ajax RRS feed

  • Pregunta

  • hola amigos recurro a ustedes para solicitar ayuda en lo siguiente.

    1- tengo una consulta a mi base de datos por medio de ajax de la siguiente manera.

    function LoadMarcas(id) {
        $("#MarcasResult tbody tr").remove();  
        $.get(_urlBase + "Ofertas/GetMarcasUser?id=" + id, null, DataBind);
        function DataBind(MarcaList) {
            var SetData = $("#SetMarcasTemp");        
            for (var i = 0; i < MarcaList.length; i++) {            
                var Data = "<tr class='row_" + MarcaList[i].DetalleOfertaTempId + "'>" +
                    "<td>" + "<input class='form-control' type='text' value=" + MarcaList[i].Marca + ">" + "</td>" +                
                    "<td>" + "<input class='form-control' type='text' value=" + MarcaList[i].RegistroSanitario + ">" + "</td>" +
                    "<td>" + MarcaList[i].TitularRegistro + "</td>" +
                    "<td>" + "<input class='form-control' type='text' value=" + MarcaList[i].Origen + ">" + "</td>" +
                    "<td>" + "<select class='form-control value=" + MarcaList[i].FabricanteId + ">" + "</td>" +
                    "<td>" + "<a href='#' class='btn btn-warning btn-xs' onclick='EditMarcaTemp(" + MarcaList[i].DetalleOfertaTempId + ")'  title='Editar'><span class='glyphicon glyphicon-edit'></span></a> <a href='#' class='btn btn-danger btn-xs' onclick='DeleteMarca(" + MarcaList[i].DetalleOfertaTempId + ")'><span class='glyphicon glyphicon-trash'></span></a>" + "</td>" +                
                    "<td>" + "<select id='FabricanteId' class='form-control'></select>" + "</td>" +                                                 
                "</tr>";
                SetData.append(Data);            
                GetCatalogoProveedores($('#FabricanteId'));
            }      
        }   
    }

    lo cual me regresa la siguiente imagen

     lo que no he podido realizar es cargar la información en los dropdownlist de fabricante y seleccionarlo al id que me regrese la consulta, lo cual quiero ocupar la siguiente funcion

    function GetCatalogoProveedores(element) {
        if (Titulares.length == 0) {
            $.ajax({
                type: "GET",
                //url: '../Ofertas/GetTitularesRegistro',
                url: _urlBase + "Ofertas/GetTitularesRegistro",
                success: function (data) {
                    Titulares = data;
                    RenderGetCatalogoProveedores(element);
                }
            })
        }
        else {
    
            RenderGetCatalogoProveedores(element);
        }
    }
    
    function RenderGetCatalogoProveedores(element) {
        var $ele = $(element);
        $ele.empty();
        $ele.append($('<option/>').val('0').text('Selecciona una opción'));
        $.each(Titulares, function (i, val) {
            $ele.append($('<option/>').val(val.MtoProveedorId).text(val.RazonSocial));
        })
    }

    podrían echarme una mano muchas gracias


    Horacio Xochitemol Bautista

    jueves, 9 de noviembre de 2017 19:19

Todas las respuestas

  • que tal amigos les comento ya hice algunas modificaciones y ya me carga los select; el codigo es el siguiente en la funcion

    function LoadMarcasByUser(id) {    
        $("#MarcasResult tbody tr").remove();
        $.ajax({
            url: _urlBase + "Ofertas/GetMarcasUser?id=" + id,        
            type: 'GET',
            dataType: "json",
            //async: false,
            data: { id:id },
            success: function (data) {
                var items = '';
                $.each(data, function (i, item) {
                    var rows = "<tr>"
                    + "<td>" + item.Marca + "</td>"
                    + "<td>" + item.RegistroSanitario + "</td>"
                    + "<td>" + item.TitularRegistro+ "</td>"
                    + "<td>" + item.Origen + "</td>"
                    + "<td><select id='Select_" + i + "' class='Fabric form-control'></select>" + "</td>"
                    + "<td>" + item.mail + "</td>"
                    + "</tr>";
                    $('#MarcasResult tbody').append(rows);                
                });
                GetCatalogoProveedores($('.Fabric'));
                $("select[name$='Select_" + i + "']").val(item.FabricanteId);
              
            },
            error: function (ex) {
                var r = jQuery.parseJSON(response.responseText);
                alert("Message: " + r.Message);
                alert("StackTrace: " + r.StackTrace);
                alert("ExceptionType: " + r.ExceptionType);
            }
        });
    }

     ahora el problema es que no se como hacer la selección del ítem que trae la base de datos lo intento con lo siguiente:

    $("select[name$='Select_" + i + "']").val(item.FabricanteId);

    pero no funciona, alguna idea por favor.

    ahora plateo lo siguiente: 

    1- se tarda en cargar un poco los items

    2.- si la función 

     GetCatalogoProveedores($('.Fabric'));

    la pongo al finalizar el ciclo for carga rapidísimo; pero no se como hacer la selección, agradecería su ayuda.


    Horacio Xochitemol Bautista

    sábado, 11 de noviembre de 2017 3:29