none
Função remover acentos e replace dentro de uma função jquery RRS feed

  • Pergunta

  • Tenho o seguinte jquery:
    function MontaMenuInferior() {

        var str = "";
        $.ajax({
            url: '/Home/MontaMenuInferior',
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            type: "POST",
            success: function (data) {
                
                $(data.resultado).each(function () {

                    str = str + '<ul class="grid_4">' +
                                        '<li>' + this.SubCategoria + '</li>';


                    $(this.subconsulta).each(function () {

                        if (this.Id_SubCategoria2 != null) {
                            str = str + '<li><a href="/Conteudo/' + this.SubCategoria2 + this.Id_SubCategoria2 + '/3" title="">' + this.SubCategoria2 + '</a></li>';
                            //str = str + '<li><a href="@Url.RouteUrl("RotaConteudo",new{ name = "teste-nome" Parametro = 6, tipo = 3} )">' + this.SubCategoria2 + '</a></li>'
                        }
                        else
                            str = str + '<li><a>' + this.SubCategoria2 + '</a></li>';

                    });

                    str = str + '</ul>';

                    $('#menufooter').append(str);

                    str = "";

                });
            },
            error: function (error) {

            }
        });
    }

    Onde está this.SubConsulta2, devera haver uma função ou chamar uma função, que remova os acentos que vêm nela, jogue tudo para letra minúsculas(caixa baixa) e troque os espaços para hifen "-". Tenho uma função na minha Controller, mas não dá para pegar no jquery, certo? E mesmo que desse, seria ideal ter uma função jquery e chamar essa função de dentro do meu jquery para formatar o resultado do banco. Como eu faço? A função jquery para remover acentos, eu sei. Como eu chamo uma função jquery dentro de outra?
    terça-feira, 11 de março de 2014 13:50

Respostas

  • Resolvido com essa função.
    function retira_acentos(palavra) {
        com_acento = 'áàãâäéèêëíìîïóòõôöúùûüçÁÀÃÂÄÉÈÊËÍÌÎÏÓÒÕÖÔÚÙÛÜÇ';
        sem_acento = 'aaaaaeeeeiiiiooooouuuucAAAAAEEEEIIIIOOOOOUUUUC';
        nova='';
        for(i=0;i<palavra.length;i++) {
            if (com_acento.search(palavra.substr(i,1))>=0) {
                nova+=sem_acento.substr(com_acento.search(palavra.substr(i,1)),1);
            }
            else {
                nova+=palavra.substr(i,1);
            }
        }
        return nova;
    }

    e essa chamada

    retira_acentos(this.SubCategoria2).toLowerCase().replace(/ /g, "-")
    • Marcado como Resposta pnet terça-feira, 11 de março de 2014 14:49
    terça-feira, 11 de março de 2014 14:49