Riveran
@Riveran
Astartes

Как установить событие клика для одного элемента?

При клике на чекбокс срабатывает событие на всех чекбоксах настранице, как этого можно избежать и событие работало только на том чекбоксе на который мы кликнули?
function onClickCheckboxRow(data) {
	$(".checkbox").change((e) => {
		console.log(data, e);
	});
}

function displayLine(data) {

	$('#results').append(`
	<tr>
		<th scope="row">${importLines.length}</th>
			<td><input class="checkbox" type="checkbox"></td>
			<td>${data[0]}</td>
			<td>${data[2]}</td>
			<td>${data[11]}</td>
			<td id="status-${data[0]}"><b><span style="color: orange">PENDING</span></b></td>
		</tr>
`, onClickCheckboxRow(data));
}

5d0381835d175686620113.png
  • Вопрос задан
  • 74 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
$('#results').on('change', 'tr', function(e) {
  console.log(e, $(this).data('xxx'));
});

function displayLine(data) {
  $('#results').append($(`
    <tr>
      <th scope="row">${importLines.length}</th>
      <td><input class="checkbox" type="checkbox"></td>
      <td>${data[0]}</td>
      <td>${data[2]}</td>
      <td>${data[11]}</td>
      <td id="status-${data[0]}"><b><span style="color: orange">PENDING</span></b></td>
    </tr>
  `).data('xxx', data));
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@gribanov2la
Full stack web разработчик
function onClickCheckboxRow (data) {
  $('.checkbox').change((e) => {
    console.log(data, e)
  })
}

function displayLine (data) {
  $('#results').append(`
  <tr>
    <th scope="row">${importLines.length}</th>
      <td><input class="checkbox" type="checkbox"></td>
      <td>${data[0]}</td>
      <td>${data[2]}</td>
      <td>${data[11]}</td>
      <td id="status-${data[0]}"><b><span style="color: orange">PENDING</span></b></td>
    </tr> 
  `)
  onClickCheckboxRow(data)
}
Ответ написан
Stalker_RED
@Stalker_RED
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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