function showTree(){ $.ajax({ //url: service_url + "getEqupmentMenuitem.php?type="+type, url: "data_engine_json/getEqupmentMenuitem.json", success: function(menuArray) { $.ajax({ //url: service_url + "getEqupmentDetail.php?equpid="+equpid, url: "data_engine_json/getEqupmentDetail.json", success: function (json_result) { var test_list = [],test_units=[]; //var json_result = $.parseJSON(results); // 加载折线图图例并构造一个数组 折线颜色的说明 if (marker_content[json_result.pam] != "Not used") { test_list.push(marker_content[json_result.pam]); test_units.push(marker_unit[json_result.pam]); } if (marker_content[json_result.pbm] != "Not used") { test_list.push(marker_content[json_result.pbm]); test_units.push(marker_unit[json_result.pbm]); } if (marker_content[json_result.pcm] != "Not used") { test_list.push(marker_content[json_result.pcm]); test_units.push(marker_unit[json_result.pcm]); } if (marker_content[json_result.pdm] != "Not used") { test_list.push(marker_content[json_result.pdm]); test_units.push(marker_unit[json_result.pdm]); } if (marker_content[json_result.pem] != "Not used") { test_list.push(marker_content[json_result.pem]); test_units.push(marker_unit[json_result.pem]); } if (marker_content[json_result.pfm] != "Not used") { test_list.push(marker_content[json_result.pfm]); test_units.push(marker_unit[json_result.pfm]); } if (marker_content[json_result.pgm] != "Not used") { test_list.push(marker_content[json_result.pgm]); test_units.push(marker_unit[json_result.pgm]); } if (marker_content[json_result.phm] != "Not used") { test_list.push(marker_content[json_result.phm]); test_units.push(marker_unit[json_result.phm]); } if (marker_content[json_result.pim] != "Not used") { test_list.push(marker_content[json_result.pim]); test_units.push(marker_unit[json_result.pim]); } if (marker_content[json_result.pjm] != "Not used") { test_list.push(marker_content[json_result.pjm]); test_units.push(marker_unit[json_result.pjm]); } if (marker_content[json_result.pkm] != "Not used") { test_list.push(marker_content[json_result.pkm]); test_units.push(marker_unit[json_result.pkm]); } if (marker_content[json_result.plm] != "Not used") { test_list.push(marker_content[json_result.plm]); test_units.push(marker_unit[json_result.plm]); } test_list.push("Battery"); test_units.push("%"); first_equpid = menuArray[0].nodes[0].nodes[0].equpid; $("#equpname").html("设备:" + first_equpid); var tree_obj = menuArray[0].nodes[0].nodes[0]; for (var i = 0, array = []; i < test_list.length; i++) { array.push({"text": test_list[i],"href":"javascript:"+test_list[i].replace(" ","")+"()"}); } menuArray[0].nodes[0].state={expanded: true}; tree_obj.nodes = array; $('#menu').treeview({ data: menuArray, enableLinks: true }); } }) } }) }
怎么在外面可以使用 test_units和test_list数组???
定义为全局
试过了,不行,输出的是[]
可以写一个callback,在最后将test_units和test_list传给callback
function showTree(callback){
$.ajax({
...
success:function(...){
...
var test_list = [],test_units=[];
...
callback(test_list,test_units);
...
}
...
})
...
}
可以给个简单的例子不?不会,谢谢
@米娜-火箭: showTree(function(test_list,test_units){
alert(test_list.length+":"+test_units.length)
})
@长蘑菇星人: 还是看不懂,callback在showtree里不就是参数吗?函数里test_units和test_list又是怎么传给callback,真的看不懂
@米娜-火箭: 23333没人说参数不能是函数,不是么。
@长蘑菇星人: 具体怎么写?我试了半天都报错
@米娜-火箭: 仔细看了下,居然能写出这么萌的代码。
给showTree 加个参数,没问题吧。参数名叫callback
tree_obj.nodes = array;这句代码下面写callback(test_list ,test_units);
调用showTree的地方写showTree(function(test_list ,test_units){
//你的代码
})
再不行,就先去睡一觉。醒了再看。