Help with JQuery $ is not a function [closed]

0

My .js file

$(document).ready(function () {

$("#uf").on("change", function () {
    atualizaProfissional();
});

$("#botao").on("click", function(){
    s = $("#municipio").val();
    if (s == 1){
        $("#imagem").attr("src","https://drglass.com.br/uf/popup1.png");
        $("#mensagem").html('Uhul! Nós atendemos sua região. Temos uma unidade de atendimento pertinho de você. Ligue agora mesmo e faça um orçamento.');
    }else{
        $("#imagem").attr("src","https://drglass.com.br/uf/popup0.png");
        $("#mensagem").html('Ops! Ainda não estamos na sua cidade. Mas muito em breve levaremos a melhor empresa de Vidros para sua região, consulte nosso plano de expansão.');
    }
});

function atualizaProfissional() {
    var options = {};
    options.url = "https://drglass.com.br/uf/listaCidades.php";
    options.type = "POST";
    options.data = { "uf": $("#uf").val() };
    options.dataType = "json";
    options.success = function (data) {
        $('#municipio').empty();
        for (var i = 0; i < data.length; i++) {
            $("#municipio").append("<option value='" + data[i].atende + "'>" + data[i].Nome + "</option>");
        }
    };
    $.ajax(options);
}
});

As I'm calling:

<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script><scripttype="text/javascript" src="https://drglass.com.br/uf/municipios.js"></script>

Error link:

https://drglass.com.br/regioes/

I have no idea how to solve it. On my local machine, it works fine, when I upload it gives this error.

    
asked by anonymous 26.07.2018 / 00:45

1 answer

1

Dear Italo, I do not know if there is, but Wordpress itself adds this:

Line 103:

<script type='text/javascript' src='https://drglass.com.br/wp-includes/js/jquery/jquery.js?ver=1.12.4'></script>

and on line 381 you added this:

<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>

Itmaybethecauseoftheconflict,IreallyrecommendthatyouremovethesecondjQuery,evenifithasnorelationtotheproblem,thatisnotright.

Iwasnotabletotestoranalyzemorethings,theyweretoo.jstolookat,butI'llgiveyouanotherway,ifit'snotthefirstproblemmentioned,somethingshouldbepreventingoroverwritingtheglobalvariable$,jQueryworksnormally,it'sprobablysomeliboradd-on,orit'swordpressitselfthat'susing jQuery.noConflict

What you can do is isolate the scope by doing this:

(function ($) {

    $(document).ready(function () {

    $("#uf").on("change", function () {
        atualizaProfissional();
    });

    $("#botao").on("click", function(){
        s = $("#municipio").val();
        if (s == 1){
            $("#imagem").attr("src","https://drglass.com.br/uf/popup1.png");
            $("#mensagem").html('Uhul! Nós atendemos sua região. Temos uma unidade de atendimento pertinho de você. Ligue agora mesmo e faça um orçamento.');
        }else{
            $("#imagem").attr("src","https://drglass.com.br/uf/popup0.png");
            $("#mensagem").html('Ops! Ainda não estamos na sua cidade. Mas muito em breve levaremos a melhor empresa de Vidros para sua região, consulte nosso plano de expansão.');
        }
    });

    function atualizaProfissional() {
        var options = {};
        options.url = "https://drglass.com.br/uf/listaCidades.php";
        options.type = "POST";
        options.data = { "uf": $("#uf").val() };
        options.dataType = "json";
        options.success = function (data) {
            $('#municipio').empty();
            for (var i = 0; i < data.length; i++) {
                $("#municipio").append("<option value='" + data[i].atende + "'>" + data[i].Nome + "</option>");
            }
        };
        $.ajax(options);
    }
    });

})(jQuery);

Or simply adapt everything to jQuery()...

    
26.07.2018 / 01:11