У меня есть HTML-форма с флажками:
<form id="filterOptions" method="post" action="">
<input type="checkbox" name="filterTaxi" id="filterTaxi" />
<input type="checkbox" name="filterBicycle" id="filterBicycle" />
<input type="checkbox" name="filterCarPark" id="filterCarPark" />
<input type="checkbox" name="filterBed" id="filterBed" />
</form>
Теперь я хочу использовать javascript для применения функции всякий раз, когда изменяется флажок. В настоящий момент я могу применить функцию, когда первый флажок изменяется следующим образом:
document.getElementById('filterTaxi').onchange = function(){
//do something here
};
Итак, мой вопрос: как мне избежать написания этого для каждого флажка и вместо этого активировать функцию при изменении любого из этих флажков?
Вы можете либо выбрать все входные данные, либо добавить класс и выполнить следующие действия:
var input = document.getElementsByTagName('input');
for(var i = 0; i < input.length; i++) {
input[i].onchange = function() {
console.log(this);
}
}
функция onchange может быть одинаковой для всех из них.
скрипка: http://jsfiddle.net/XgS9K/
Это даст вам onchange
обработчик для проверки и сняв флажок из checkbox
х годов.
var allInputs = document.getElementsByTagName('input');
for (var i = 0; i < allInputs.length; i++) {
if (allInputs[i].type == 'checkbox') {
allInputs[i].onchange = function () {
if (this.checked) {
// your checked code here
console.log('checked');
} else {
// your unchecked code here
console.log('unchecked');
}
}
}
}
для всех элементов.
document.getElementById('filterOptions').onchange = function(){
alert()
};