sjaserds
@sjaserds
Студент

Узнать значение Input button если он изменен?

Есть блок с кнопками на сайте, при клике на любую кнопку этот блок меняется.

<div class="block">
				<div class="block__row">
					<div class="block__colum">
						<input id="btn1" class="btn" type="button" value="1">
					</div>
					<div class="block__colum">
						<input id="btn2" class="btn" type="button" value="2">
					</div>
					<div class="block__colum">
						<input id="btn3" class="btn" type="button" value="3">
					</div>
				</div>
			</div>


let arr = [`<div class="block__row">
					<div class="block__colum">
						<input id="btn1" class="btn" type="button" value="Переподготовка">
					</div>
					<div class="block__colum">
						<input id="btn2" class="btn" type="button" value="Повышение квалификации">
					</div>`, 

					`<div class="block__row">
					<div class="block__colum">
						<input id="btn1" class="btn" type="button" value="6">
					</div>
					<div class="block__colum">
						<input id="btn2" class="btn" type="button" value="5">
					</div>
					<div class="block__colum">
						<input id="btn3" class="btn" type="button" value="4">
					</div>
				</div>
</div>`];

function strPad(elementos, number_element) {
		$(".block").empty();
		$(".block").append(elementos[number_element]);
  	}


До замены я могу получать value кнопи которая была нажата.

window.onload = function (){
    var k = document.getElementsByClassName("btn");
    for(var i = 0; i < k.length; i++){
        k[i].onclick = function (){
            console.log(this.value);
            strPad(arr, 0);
     }
}
}


Но после того как они поменялись то эта функция перестает работать. Как сделать так чтобы функция отрабатывала даже при нажатии вновь созданных кнопок?
  • Вопрос задан
  • 85 просмотров
Решения вопроса 1
@thisuserhatephp
Офлайн - losers Онлайн - lusers
DEMO - не знаю, что вы задумали, но сделал так. Раз, вы используете jq, то используйте делегирование, что бы обратиться к элементам, которые добавлены динамически.
Например от родителя - body

$('body').on('click', '.btn', function(){
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы