日期:2014-05-16  浏览次数:20330 次

js中的函数能否使用另一个函数中的变量
我想在函数中1保存一个变量$louqu的值,在函数2中将这个值赋给变量$region3。该怎么做?
函数1如下:
function load_list(data)
{
$.ajax
({
 type:'POST',
 url:'php/form/rootsearch.php',
 //将选择的是校内IP、西电建筑物管理、用户数据审核还是世界  IP以及要求页数发送给rootsearch.php
 data:data,//data即为type=1、2、3、4
 beforeSend: function(xmlreq)/*发送请求前可修改 XMLHttpRequest 对象*/
         {
                 },
                 success: function(data)/*请求成功后的回调函数*/
 {
 document.getElementById('iplist').innerHTML=data;
 /*innerHTML 属性设置或返回表格行的开始和结束标签之间的 HTML,将iplist显示在ipcontrol.php中*/
 $.getScript("js/after_show.js");
 /*运行after_show.js,将里面的数据传到rootsearch.php,再到displaylist.class.php,再到rootsearchform_edu.php*/
 $louqu=$("#back_options1").val();
 },
 complete:function(xmlreq, textStatus)/*请求完成后回调函数*/
 {
 }
});
}

函数2如下:
function search_get_region3(region1,region2,region3,region4,region5)//region1和region2已经选定
{
   //alert(region1+region2+region3+region4+region5);
   $region1=region1;//$region1为'south'或'north'
   $region2=region2;//$region2为'partment'、'teach'、'home'或'some'
   $region3=region3;//$region3、4、5均为'default'
   $region4=region4;
   $region5=region5;
    $.ajax
({
 type:'POST',
 url:'../php/action/getregions.php',//将'south'或'north'、'partment'、'teach'、'home'或'some'传给getregions.php
         data:"from=search&type=region3&region1="+region1+"&region2="+region2,
 //传递了四个参数,分别是$_POST['from']、$_POST['type']、$_POST['region1']、$_POST['region2']
 success: function(data)
 {
 $('#back_options1').empty();//将所有楼区清空
 //alert(data);
 eval(data);
 //eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码
 $('#back_options1').append('<option value="some"]>全部</option>');
 //append() 方法在被选元素的结尾(仍然在内部)插入指定内容
         if ($region3!='default')
 {
  $('#back_options1').attr('value',$region3);//先保证$region3的value设置为'default'
   }
     $region3=$("#back_options1").val();//$将$region3设置为$_POST['back_region3']
     search_get_region4($region1,$region2,$region3,$region4,$region5);
 }
});
}

------解决方案--------------------
定成全局。直接用。


<script>
var $test_val;
function a()
{
$test_val = 'ok';
}
function b()
{
alert($test_val);
}
a();
b();
</script>


------解决方案--------------------
函数1中 $louqu=$("#back_options1").val();                
函数2中 region3=$("#back_options1").val(); 这样不就ok么?
               

<