2017-02-12 311 views
0

我有一個Javascript函數,並希望從函數外部檢索id值。如何使「id」成爲一個靜態變量並從函數外部訪問它。從函數外部訪問變量?

<input type="text" name="editinput" id="editinputtext" placeholder="Type Contribution..."> 
     <script> 
      $(".contributions").click(function(){ 
      var id = this.id; 
    }); 
document.getElementById("editinputtext").value = id; 

回答

1

你只需要在函數之外聲明變量。

<script> 
    var id; 
    $(".contributions").click(function(){ 
    id = $(this).attr("id"); 
    }); 
    document.getElementById("editinputtext").value = id; 
</script> 
+0

注意'id'將是'undefined'這裏的時候,它分配給'value'和它看起來並不像是一個永遠不會改變... – deceze

+0

當我運行它,它說,該值是不確定的,雖然我嘗試了console.log,它返回了「id」的值。 –

+1

@Hadi是的,因爲*執行'click'函數時*。你爲什麼不在''click''函數內分配'editinputtext' ***? – deceze

1

我認爲你想要做的比你想象的要簡單。變量id將不會有任何值,並將爲undefined,直到調用實際的點擊功能。

所以你可以做的是定義點擊函數中的變量,並將其直接分配給editinputtext。但是你也使用jQuery,所以你也可以用這種方式分配它。

<input type="text" name="editinput" id="editinputtext" placeholder="Type Contribution..."> 

<script> 
    $(".contributions").click(function(){ 
     var id = this.id; 
     $("#editinputtext").val(id); 
    }); 
</script> 
+0

謝謝,但我認爲我發現解決方案作爲我使用的第三方軟件包導致了問題,在刪除它之後,我可以訪問id的值。 –