2017-02-12 196 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的值。 –