#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. Спасибо Робу! Мой талисман теперь жив 🙂