Array
(
)

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

Pjava
   - 11 mar 2014

Tenho o seguinte jquery:
#Código

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?

Pjava
   - 11 mar 2014

Resolvido com essa função.
#Código

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

#Código
retira_acentos(this.SubCategoria2).toLowerCase().replace(/ /g, "-")