none
LLamado de Funciones en Ajax RRS feed

  • Pregunta

  • Buenas Tardes. Estoy un poco confundido como se hacen los llamados a las funciones en Ajax y en Jquery.

    Tengo el siguiente código donde lleno un treeview.

    $(document).ready(function () {
                $.ajax({
                    type: "POST",
                    url: "ConsultaEA.aspx/MostrarData",
                    data: "{'name': '" + $('#txtPrueba').val() + "' }",
                    datatype: "json",
                    contentType: "application/json; charset=utf-8",
                    success: function (res) {
                        var $tree = $('#tree').treeview({
                            data: res.d,
                            levels: 1,
                            color: '#000000',
                            onhoverColor: '#FE0032',
                            onNodeSelected: function (event, node) {
                                var ttr = node.text.substr(0, 8)
                                if (isNaN(ttr)) {
                                }
                                else {
                                    $('#VentanaProducto').modal('hide');
                                    $('#<%=txtProducto.ClientID%>').val(node.text.substr(0, 10));
                                }
                            }
                        });
                    },
                    error: function (xhr, status, error) {
                        alert(error);
                    }
                });
            });

    Y necesito poder realizar búsquedas sobre el árbol teniendo un campo de texto y un botón que realiza sobre la búsqueda con ese texto y el código es el siguiente:

    $(function() {
    
    		var $searchableTree = $('#tree').treeview({
              data: defaultData,
            });
    
            var search = function(e) {
              var pattern = $('#input-search').val();
              var options = {
                ignoreCase: $('#chk-ignore-case').is(':checked'),
                exactMatch: $('#chk-exact-match').is(':checked'),
                revealResults: $('#chk-reveal-results').is(':checked')
              };
              var results = $searchableTree.treeview('search', [ pattern, options ]);
    
              var output = '<p>' + results.length + ' matches found</p>';
              $.each(results, function (index, result) {
                output += '<p>- ' + result.text + '</p>';
              });
              $('#search-output').html(output);
            }
    
            $('#btn-search').on('click', search);
    
    });
    Como puedo ubicar esa función de manera que cuando haga click en el botón me muestre los datos del árbol. Gracias

    martes, 20 de febrero de 2018 16:07

Respuestas

  • Primero que nada debes implementar dichos eventos click algo parecido a esto:

                                      

    @section Scripts
        {
        <script>
                $(document).ready(function () {

                    var mensajito = "Desactivando Empleado..."
                    var mensajito2 = "Activando Empleado..."
                    var activ;

                    $(".checkbx").click(function (e) {
                        e.preventDefault();
                        var codigo = $(this).data('codigo');
                        var $self = $(this);
                        var estadoActual = $self.prop('checked');
                        var mensajeCorrecto;
                        var mensajeCorrecto2;

                        if (estadoActual === true) {
                            mensajeCorrecto = mensajito2;
                            activ = "Activar";
                            mensajeCorrecto2 = "El empleado ha sido activado correctamente!";
                        } else {
                            mensajeCorrecto = mensajito;
                            activ = "Desactivar";
                            mensajeCorrecto2 = "El empleado ha sido desactivado correctamente!";
                        };

                        swal({
                            title: "Está seguro?",
                            text: mensajeCorrecto,
                            type: "warning",
                            showCancelButton: true,
                            confirmButtonColor: "#DD6B55",
                            confirmButtonText: "Sí, " + activ + "!",
                            closeOnConfirm: false,
                            closeOnCancel: true
                        },
                    function (isConfirm) {
                        if (isConfirm) {
                            Bitworks.Ventanas.mostrarLoading();
                            $.ajax({
                                type: "post",
                                url: $("#urlActivarDesactivarEmpleado").val(),
                                dataType: "json",
                                data: { idEmpleado: codigo },
                                success: function (res) {
                                    swal("Exito", mensajeCorrecto2, "success");
                                    $self.prop('checked', !$self.prop('checked'));
                                },
                                error: function (er) {
                                    swal("Error", "No se pudo corregir estado del Empleado", "error");
                                }
                            })
                        }
                    });
                });

                    $(".btnEliminar").on("click", function (e) {
                        e.preventDefault();
                        var cod = $(this).data('codigo');
                        var boton = $(this);
                        swal({
                            title: "Está seguro?",
                            text: "El registro de este empleado se perdera de manera permanente y no podrá ser recuperado!",
                            type: "warning",
                            showCancelButton: true,
                            confirmButtonColor: "#DD6B55",
                            confirmButtonText: "Sí, eliminarlo!",
                            closeOnConfirm: false,
                            closeOnCancel: true
                        },
                        function (isConfirm) {
                            if (isConfirm) {
                                Bitworks.Ventanas.mostrarLoading("Eliminando...");
                                $.ajax({
                                    type: "post",
                                    url: $("#urlEliminarEmpleado").val(),
                                    dataType: "json",
                                    data: { codigoEmpleado: cod },
                                    success: function (res) {

                                        //swal("Exito", "El registro se elimino correctamente!", "success");
                                        swal({
                                            title: "Exito",
                                            text: "El registro se elimino correctamente!",
                                            type: "success"
                                        }, function () {
                                            window.location.reload();
                                        });

                                    },
                                    error: function (er) {
                                        swal("Error", "Ah Ocurrido un problema y no se pudo eliminar el registro!", "error");
                                    }
                                });
                            }
                        });
                    });
            })
        </script>
    }

    como puedes observar aqui hay varios eventos click dirigidos a un controlador de tipo JsonResult

    para acceder a dichos controladores agrego unos <input type="hidden"> con el valor que seria una @Url.Action("Controlador", "ClaseControlador")

    • Marcado como respuesta nelson111 martes, 27 de febrero de 2018 13:59
    jueves, 22 de febrero de 2018 16:08