我尝试使用复选框输入代码的 onclick 存储在数组中,如下所示:
function CheckBoxShortList(x,y,z)
{
var slide = '';
var arr = [];
arr.push = x + ',' + y + ',' + z;
console.log(arr);
}
复选框代码如下:
<input type="checkbox" onclick="CheckBoxShortList('@item.Cid','@item.Hid','@k');">
它显示 console.log(arr)
上的当前值,这是可以的,但如果我使用 console.log(arr.length)
那么它是 0 不递增。
我还想在取消选中输入框时从数组中删除。*
最佳答案
Array.prototype.push
是一个方法。您必须调用它,而不是为其赋值:
function CheckBoxShortList(x,y,z) {
var slide = '';
var arr = [];
arr.push(x + ',' + y + ',' + z); // length is 1
console.log(arr);
console.log('Length:', arr.length);
}
<input type="checkbox" onclick="CheckBoxShortList('a','b','c');">
这会生成一个包含一个字符串的数组:["a, b, c"]
。
如果您想将值一一推送,请执行以下操作:
arr.push(x); // length is 1
arr.push(y); // length is 2
arr.push(z); // length is 3
这会产生一个包含三个值的数组:["a", "b", "c"]
。
要删除它,请使用Array.prototype.pop
:
arr.push(x); // length is 1
arr.push(y); // length is 2
arr.push(z); // length is 3
arr.pop(); // length is 2
arr.pop(); // length is 1
关于javascript - 单击存储在数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45432044/