Изменить изображение, если какой-либо флажок на странице был установлен или снят?

#javascript #html

#javascript #HTML

Вопрос:

У меня на странице много флажков с разными идентификаторами.

Я хочу менять изображение каждый раз, когда какой-либо флажок был установлен или снят…

Пожалуйста, скажите мне, как это сделать..

Ответ №1:

Базовый код показан ниже. Привяжите onchange событие к каждому input[type=checkbox] .

 $(':checkbox').change(function(){
    $('#imgid').attr('src', 'newimg.png');
})
  

Чистый JavaScript:

 var inputs = document.getElementsByTagName("input");
for(var i=inputs.length-1; i>=0; i--){ //Loop through each input element in the page
    var input = inputs[i];
    if(input.type == "checkbox"){
        input.onchange = function(){   //Bind `change` event handler
            document.getElementById("imgId").src = "newimg.png";
        }
    }
}
  

Примечание: Ранее показанные фрагменты кода должны вызываться при загрузке документа. Либо с помощью window.onload = function(){ /*Code here*/ } , либо путем добавления кода в конце документа.

Комментарии:

1. Предполагается, что вы используете jquery (или совместимую библиотеку, такую как Zepto).

2. Вау! Очень быстрый ответ. Спасибо Робу!

3. @Derek Сначала я ввел короткий код, затем начал писать новый код. Менее чем за две минуты 🙂

4. @RobW — круто. Просто указываю на это на случай, если OP попробовал это и увидел, что это не работает.

5. Спасибо Робу! Мой талисман теперь жив 🙂