如何访问变量

问题描述:

我希望有一个简单的解决方案,这一个。我只是试图从我的追加中获得'net_price',以便在另一个函数中使用。如何访问变量

任何人都可以帮忙吗?

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 2015-01-26 21:16:24

+0

从回调函数调用'calc()'。 – Barmar 2015-01-26 21:21:51

+0

也许你可以告诉我们“数据”的结构是什么。现在我们只能猜测这里发生了什么。另外,目前还不清楚如何调用'calc'函数,currentPrice是什么等等。 – 2015-01-26 21:23:26

你可以做一个全局变量为净价,然后更新您的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>'); 
     }); 
    } 

}); 

可能是你可以做

$.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 2015-01-27 20:02:44