【发布时间】:2010-04-19 20:28:44
【问题描述】:
是的,我对这个非常基本的(或看起来如此)的事情有疑问。我对 JS 还很陌生,并且仍在努力解决它,但我对 PHP 非常熟悉,并且从未经历过这样的事情。我就是不能清空这个该死的数组,每次我运行它时,东西都会不断地添加到最后。
我不知道为什么,我开始认为这与 chekbox id 的命名方式有关,但我可能弄错了......
id="alias[1321-213]",
id="alias[1128-397]",
id="alias[77-5467]" 等等。
我试过坚持
checkboxes = []; 和
checkboxes.length = 0;
在每个可能的地方。就在函数的开头,函数的结尾,甚至在函数的外面,就在函数的前面,但这无济于事,清空这个数组的唯一方法是重新加载页面。请告诉我我做错了什么,或者至少将我指向一个可以进行 RTFM 的地方。我完全没有想法。
function() {
var checkboxes = new Array();
checkboxes = $(':input[name="checkbox"]');
$.each(checkboxes,
function(key, value) {
console.log(value.id);
alert(value.id);
}
);
checkboxes.length = 0;
}
我还阅读了 3 遍 Mastering Javascript Arrays 以确保我没有做错什么,但仍然无法弄清楚....
【问题讨论】:
-
您是要清空数组,还是创建一个新数组并将其分配给同一个
checkboxes变量? -
我真的不知道我应该怎么做,但是每次函数运行时都必须使用动态数量的元素重新填充/重新创建这个数组。
-
我很确定双引号不应该出现在 jQuery 选择器中。您是否尝试过
checkboxes = $('input[type=checkbox]');获取页面上的所有复选框? -
当我看到
console.log和alert背靠背时,我可以想象到沮丧的程度:)
标签: javascript jquery arrays