2013-09-25 63 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有單選按鈕更好選擇。