2014-11-08 53 views
0

我无法将我的变量从一个函数传递到document.ready,以便我可以插入到我的HTML中。将JQuery变量从函数传递到document.ready

如果我定义了距离当前displayContent函数之外的距离,那么它可以工作,但我似乎无法从该函数内部获取值到document.ready。我尝试在document.ready内包装我的displayContent功能,但那也不起作用。

我的代码目前是:

<script type="text/javascript"> 
var distance; 

function displayContent(json) { 
     var len = json.feed.entry.length; 
     var distance = json.feed.entry[0].gsx$todaydist.$t; 
     var calso = json.feed.entry[0].gsx$todaycalso.$t; 
     var calsi = json.feed.entry[0].gsx$todaycalsi.$t;    
} 


    $(document).ready(function() { 
      $(".distance").html(distance) 
}); 
</script> 
+0

而你是如何得到JSON和调用函数,似乎你应该在DOM准备处理程序中调用该函数并返回结果或什么? – adeneo 2014-11-08 14:58:02

+0

似乎你在设置其值**((。。distance))。html(距离)之前没有调用** displayContent()**函数** – 2014-11-08 14:58:43

回答

1

我的第一印象是,你声明的距离变量,而两倍,比它声明和分配

<script type="text/javascript"> 
var distance; 

function displayContent(json) { 
     var len = json.feed.entry.length; 
     distance = json.feed.entry[0].gsx$todaydist.$t; 
     var calso = json.feed.entry[0].gsx$todaycalso.$t; 
     var calsi = json.feed.entry[0].gsx$todaycalsi.$t;    
} 


    $(document).ready(function() { 
      $(".distance").html(distance) 
}); 
</script> 
+1

简直不敢相信它!起初我甚至无法看到你的代码有什么不同......谢谢! – mrbiscuits 2014-11-08 14:59:28

+0

一旦时间限制过去,我会立即投入并接受 – mrbiscuits 2014-11-08 15:00:10