0

我已经制作了一个按钮,每次单击它时,它都会从我的输入框中获取一个值,然后将其减去并将其存储回输入框值。但我想要做的是,将我的值存储到一个数组或任何我的按钮被点击的东西中。

所以例如我想这样做,点击 balance = 100 按钮 balance 现在是 90,我希望 array[0] 有 100 array[1] 有 90 并且每次我希望它继续附加到数组但是当我输入我的按钮。

我尝试了很多事情,每次它总是将值存储到数组 [0] 中并重写它

var clicktotal=0;
var array = [];
function myfunc(){
var Bal = document.getElementById("Bank_Balance");
var Balance = Bal.value
array[clicktotal]=Balance;
console.log(clicktotal+"My array click total "+array[clicktotal]);
}
clicktotal++;

看到我有这个并且函数中还有其他一些东西,但是console.log总是给我相同的数字而不增加我的变量,所以它仍然覆盖我的数组。

我的按钮看起来像这样

<input type="button" id="buy_things" value="Buy" style="width:55px; height:33px; color:#938CDD;" >

我的初始化函数是

var Buy_button = document.getElementById("buy_things");
                Buy_button.addEventListener ('click', myfunc ,true);

如果有任何想法,我对任何事情都持开放态度,我尝试过使用数组、本地存储和对象,但我似乎无法让它工作

4

1 回答 1

1

您需要将push项目添加到数组中:

array.push(Bal.value);

你的myfunc重写:

function myfunc(){
    var Bal = document.getElementById("Bank_Balance");
    array.push(Bal.value);
    console.log(array.length, "My array click total "+ Bal.value);
}

我意识到我上面重写的例子没有使用clicktotal,但是你上面的例子没有正确使用它。clicktotal您用值 0声明了变量,并且只增加了一次。每次myfunc被调用,它不会递增clicktotal,所以它保持为 1,不管调用了多少次myfunc

于 2013-04-08T00:39:04.673 回答