【发布时间】:2015-12-05 17:53:33
【问题描述】:
我刚开始学习 html、javascript 和 CSS,所以我只了解基础知识。对于我正在处理的这个类项目,我们必须创建复选框,可以根据数组中的字符串是否包含某个字母来过滤掉数组的内容。如果它们确实包含该字母,它们将从数组中删除。 我原来的数组是一个叫words的数组
在我的 .html 文件中,我有以下内容:
<form>
<label> <input type="checkbox" id="A" onchange= "exclude()" /> Exclude words with 'A' <br /> </label>
<label> <input type="checkbox" id="I" onchange= "exclude()" /> Exclude words with 'I' <br /> </label>
<label> <input type="checkbox" id="O" onchange= "exclude()" /> Exclude words with 'O' <br /> </label>
在我的 .js 文件中我有:
function exclude() {
if (A.checked) {
filterByLetter(words, "A")
}
if (I.checked) {
filterByLetter(words, "I")
}
if (O.checked) {
filterByLetter(words, "O")
}
}
function filterByLetter(originalList, letter) {
var newList = [];
for (var i = 0; i < originalList.length; i++){
if (originalList[i].indexOf(letter) == -1) {
newList.push(originalList[i]);
}
}
par.innerHTML = newList;
}
当我运行此代码时,它可以工作,但是,当我选中多个复选框时,只有最近的复选框有效。我怎样才能让它同时检查多个复选框将过滤掉所有字母的字符串?我将如何做到这一点,以便如果我取消选中最后的框,数组将不会被这些字母过滤? 谢谢!!!
【问题讨论】:
标签: javascript html arrays button checkbox