2013-09-25 19 views
3

我想获取全局变量值内的ajax,jquery函数。如何获得全局变量值到ajax

这里我使用这个代码..

代码:

<script type="text/javascript"> 

     var id;  
     function refreshRecord(id) 
     { 
      alert(id); 
     } 

    $(document).ready(function(){ 
    $("#refresh").click(function(){ 
     var fileId=id; 
     alert("id is"+fileId); 
     $.ajax({ 
      type:"post", 
      url:"checkStatusAndNumRecs", 
      data: {fileId:fileId}, 
      success:function(data){$("#div1").html(data);}, 
      error:function(data){$("#div1").html("It was a failure !!!");} 
      }); 
      }); 
      }); 
</script> 

的onclick一个提交按钮我打电话javascript函数

<input type="radio" name="submit" value="submit" onclick="refreshRecord(this.value)"> 

这里是我想要得到的,我已经在脚本标记中声明了全局变量id, 当我单击单选按钮onclick事件时调用javascript函数refreshRecord(id)带有一个参数的id '

现在id值将被设置为某个值。现在我想要得到jQuery函数内部的变量值,我想将它分配给

var fileId = id; 

,但是当我做了上面的代码,然后单击按钮。

在警报被正确显示的第一个值(即,从JavaScript的警报被正确地推出)但从,jQuery是未来的AJAX警报是为未定义或[对象对象]

如何解决此??

+0

现在id值将被设置为某个值 - 在哪里? –

回答

7

您需要将传递给函数的值分配给全局变量id。目前你没有分配它。该函数的参数id只是该函数的本地函数,它与全局变量不同,而全局变量id仍然为undefined

下面就修改,

var id;  
    function refreshRecord(value) 
    { 
     id = value; 
     alert(id); 
    } 
0

我们通过一个函数中的参数作为一个局部变量来该功能。所以在你的函数中你实际上是在创建一个局部变量并设置它的值。

试试这个 -

var id; 
function refreshRecord() { 
    id = $("input:radio").val(); 
} 

给一个id有单选按钮更好选择。