@davc

Как получить глобальную переменную в функцию?

Здравствуйте, у меня есть такой код

$("#carimgid_1").bind("click", function() {var g = 1;})
    $("#carimgid_2").bind("click", function() {var g = 2;})
    $("#carimgid_3").bind("click", function() {var g = 3;})
    $("#carimgid_4").bind("click", function() {var g = 4;})
    $("#carimgid_5").bind("click", function() {var g = 5;})

    function range() {
    var rngval = $("#rng").val();
    if(rngval == 1){$("#rangedivid_1").show();$("#rangedivid_2, #rangedivid_3, #rangedivid_4, #rangedivid_5, #rangedivid_6, #rangedivid_7").hide();
        if(g == 1){$("#summapolz").text(150 + " Рублей")}
        if(g == 2){$("#summapolz").text(200 + " Рублей")}
        if(g == 3){$("#summapolz").text(200 + " Рублей")}
        if(g == 4){$("#summapolz").text(250 + " Рублей")}
        if(g == 5){$("#summapolz").text(300 + " Рублей")}
    }


функция range() не получает переменную "g", что делать? как получить внутри функции глобалную переменную?
  • Вопрос задан
  • 51 просмотр
Решения вопроса 1
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
Так она не глобальная, она локальная в каждом обработчике. Вынесете ее в глобальную область, а в локальных не переопределяйте.
var g;
$("#carimgid_1").bind("click", function() {g = 1;})
    $("#carimgid_2").bind("click", function() {g = 2;})
    $("#carimgid_3").bind("click", function() {g = 3;})
    $("#carimgid_4").bind("click", function() {g = 4;})
    $("#carimgid_5").bind("click", function() {g = 5;})

    function range() {
    var rngval = $("#rng").val();
    if(rngval == 1){$("#rangedivid_1").show();$("#rangedivid_2, #rangedivid_3, #rangedivid_4, #rangedivid_5, #rangedivid_6, #rangedivid_7").hide();
        if(g == 1){$("#summapolz").text(150 + " Рублей")}
        if(g == 2){$("#summapolz").text(200 + " Рублей")}
        if(g == 3){$("#summapolz").text(200 + " Рублей")}
        if(g == 4){$("#summapolz").text(250 + " Рублей")}
        if(g == 5){$("#summapolz").text(300 + " Рублей")}
    }
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Palehin
@Palehin
Frontend
определить var g; до всех событий, а при bing просто менять значение, а не переопределять.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы