2015-01-26 2 views
-2

Я надеюсь, что для этого есть прямое решение. Я просто пытаюсь получить «net_price» из моего приложения append для использования в другой функции.Как получить доступ к переменной

Может ли кто-нибудь помочь вообще?

JSON

$.getJSON("{{{ url('api/get-price')}}}", { id: $productId }, 
function(data){ 
    if(data.prices == true){ 
     $('#prices span').empty(); 
     $('#prices').fadeIn(2000); 
     $.each(data, function(key, value){ 
      $('.cost').append('<div>Cost: ' + value.net_price +'</div>'); 
     }); 
    } 
}); 

Функция, где мне нужно заменить XXXX с ценой:

var calc = function(currentPrice){ 
    if(currentPrice.getPrice()==100){ 
       this.setOptions({ 
        maxPrice:'XXXXX' 
    }); 
}; 
+3

ли 'calc' вызывается сразу после' get' позвонить? Если нет, просто сохраните цену в глобальной переменной. – tymeJV

+0

Вызовите 'calc()' из функции обратного вызова. – Barmar

+0

Возможно, вы можете сказать нам, что такое структура 'data'. Сейчас мы можем только догадываться, что здесь происходит. Кроме того, неясно, как вызывается функция 'calc', что такое currentPrice' и т. Д. –

ответ

0

Вы могли бы сделать глобальную переменную для чистой цены, а затем обновить переменную внутри вашего JSON вызова.

// Declare variable globally 
var netPrice = ''; 

$.getJSON("{{{ url('api/get-price')}}}", { id: $productId }, 
function(data){ 

    // Update variable 
    netPrice = value.net_price; 

    if(data.prices == true){ 
     $('#prices span').empty(); 
     $('#prices').fadeIn(2000); 
     $.each(data, function(key, value){ 
      $('.cost').append('<div>Cost: ' + netPrice +'</div>'); 
     }); 
    } 

}); 
0

Может быть, вы можете сделать

$.each(data, function(key, value){ 
    $('.cost').append('<div>Cost: <span class="netPrice">' + value.net_price +'</span></div>'); 
}); 

и доступ к нему из calc функции:

var calc = function(currentPrice){ 
    if(currentPrice.getPrice()==100){ // if Saturday 
     this.setOptions({ 
      maxPrice: $('.cost').find('.netPrice').text() 
    }); 
    }; 
} 
+0

Я пробовал этот метод и уверен, что он сработает, однако он работает только в том случае, если он завернут апострофами, строка. Как я могу это достичь? – Suba

Смежные вопросы