У меня есть конкретная задача, и я не уверен, как лучше это сделать.
У меня есть около 60 уникальных флажков, и при нажатии отображается текст справа от них (привязанный к этому флажку).
Я сделал это с 64 eventListeners
, но я не уверен, что это лучший способ: я хотел бы упростить код.
Так, например, у меня есть несколько флажков в метке: test
, test1
, test2
и так далее. И когда я нажимаю на флажок test
, может появиться текст: «Привет, мир», если отмечен test1
, может появиться текст: «Один два три», если отмечен test2
, текст: «Я» Вы сделали это "может появиться, но если ни один из них не выбран, тексты не будут отображаться.
Это код, один слушатель событий у меня сейчас:
var forSale = document.querySelector('#for_sale');
var forSaleEmail = document.querySelector('#for_sale_email');
/*For Sale*/
forSale.addEventListener("click", function(){
if(forSale.checked === true){
forSaleEmail.style.display = 'block';
} else {
forSaleEmail.style.display = 'none';
}
});
Где переменная forSale
- это флажок, а forSaleEmail
- текст, который должен отображаться.
Если у вас есть какие-либо предложения или вы можете сказать мне, что искать, это будет с благодарностью.
HTML-код выглядит следующим образом:
<div><label>For Sale <input type="checkbox" id="for_sale"></label></div>
<div><span id="for_sale_email">
<p>
for sale
</p>
</span></div>