[英]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.