简体   繁体   English

用javascript增加变量

[英]increment a variable with javascript

I have made this script, but there is a problem. 我已经制作了这个脚本,但是有问题。

When i click addbutton the variable on console log recieve the update (1, 2 ,3 ,4) for every click. 当我单击添加addbutton ,控制台日志上的变量每次单击都会收到更新(1、2、3、4)。

But var fieldHTML remains 1 forever, why? 但是var fieldHTML永远保持1,为什么呢?

var a = 1;

$(addButton).click(function(){ //Once add button is clicked

a++;

console.log(a);


});

var fieldHTML = a;

Because var fieldHTML = a; 因为var fieldHTML = a; copies the value of a to fieldHTML . a的值复制到fieldHTML

It doesn't create a reference. 它不会创建参考。

Changing the value of a (after you've set the value of fieldHTML ) won't change the value of fieldHTML . 改变的值a (你设置的值后fieldHTML )不会改变的价值fieldHTML

You need to apply an id or class to the selector, wrap it into document ready, and also pass the new value of "a" to a function that can then manipulate the fieldHTML value. 您需要将一个ID或类应用于选择器,将其包装到文档中,然后将新值“ a”传递给可以操纵fieldHTML值的函数。 Check out the snippet note that I used alerts to demonstrate the increasing count rather thanconsole.log - simply because its in the snippet. 查看代码段注释,我使用警报来演示计数的增加,而不是console.log-仅仅是因为它在代码段中。

 $(document).ready(function(){ var a = 1; $('#addButton').click(function(){ //Once add button is clicked a++; alert("a = " + a); update_fieldHTML(a); }); }) function update_fieldHTML(value){ var fieldHTML = value; alert("fieldHTML =" + fieldHTML); } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <button id="addButton">Click Me</button> 

 var addButton = $("#btn"); var viewButton = $("#btn-2"); var setButton = $("#btn-3"); var a = 1; var fieldHTML = a; // on load, addign a value to fieldHTML variable | fieldHTML = 1 $(addButton).click(function() { //Inc by 1 a++; console.log('a : '+a); }); $(viewButton).click(function() { //Show fieldHTML value in console console.log('fieldHTML : '+fieldHTML); }); $(setButton).click(function() { // reassign a value to the fieldHTML variable | on click event fieldHTML = a; }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <button id='btn'>Inc a</button> <button id='btn-3'>Set fieldHTML</button> <button id='btn-2'>View fieldHTML</button> 

 var addButton = $("#btn"); var viewButton = $("#btn-2"); var a = 1; var fieldHTML = a; $(addButton).click(function() { fieldHTML = increment(); alert('a : ' + a); }); $(viewButton).click(function() { alert('fieldHTML : '+fieldHTML); }); function increment(){ return ++a; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <button id='btn'>Inc a</button> <button id='btn-2'>View fieldHTML</button> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM