在我的頁面中我有一個字符串數組,並在我的腳本中有一個函數排除了包含某些字符的字符串。關於更改事件的複選框Javascript
我通過3個複選框來控制它。
我有這樣做的功能,但我的問題是,當我檢查兩個複選框之一,以排除包含「a」的字符串和一個包含「e」的字符串。我得到最後一次檢查複選框的結果。
如何製作一個處理所有複選框並向我顯示最終結果的函數。
這是我到目前爲止有:
我的HTML:
<div id="demo"> </div>
<div class="item">
<form id="aForm" onchange="filter()">
<input type="checkbox" id ="A" value="A">Exclude words with 'A'<br>
<input type="checkbox" id ="E" value="E">Exclude words with 'E'<br>
<input type="checkbox" id ="O" value="O">Exclude words with 'O'<br>
<form id="aForm" >
</div>
<script type="text/javascript">
var animals = ["Bear", "Mouse", "Cat", "Tiger", "Lion"]
function filter() {
if(document.getElementById('A').checked) {
var result2 = [];
for (var animal in Animals) {
if (Animals[animal].indexOf('a') == -1) {
result2 += " " + Animals[animal];
}
document.getElementById("demo").innerHTML = result2;
}
}
if(document.getElementById('E').checked) {
var result2 = [];
for (var animal in Animals) {
if (Animals[animal].indexOf('e') == -1) {
result2 += " " + Animals[animal];
}
document.getElementById("demo").innerHTML = result2;
}
}
if(document.getElementById('O').checked) {
var result2 = [];
for (var animal in Animals) {
if (Animals[animal].indexOf('o') == -1) {
result2 += " " + Animals[animal];
}
document.getElementById("demo").innerHTML = result2;
}
}
}
的動物[]數組是沒有得到修正。代碼只是設置innerHTML。確保第一個複選框用於第二個複選框後,確保已修改動物[]。讓我知道你是否需要工作樣本。 –