Когда вы устанавливаете функцию onclick в качестве атрибута элемента, this
НЕ будет щелкаемым элементом
function myfunction() {
console.log(Object.prototype.toString.call(this));
}
<div onclick="myfunction()">CLICK ME</div>
это объект окна
Вы можете сделать это вместо
function myfunction(el) {
console.log(Object.prototype.toString.call(el));
}
<div onclick="myfunction(this)">CLICK ME</div>
Теперь аргумент el
- это элемент, по которому щелкнули
Альтернативно (и так, как я бы это сделал), если вы добавите щелчокслушатель, использующий JavaScript, например,
$('.x').click(function(e) {
console.log(Object.prototype.toString.call(this));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<div class="x">CLICK ME</div>
Тогда this
будет элементом, по которому щелкнули
В вашем коде удалите onclick="myFunction()"
и добавьте строку кода для добавленияпрослушиватель событий для click
... т.е. $('.task-tr').click(myFunction);
Таким образом, ваш код в конечном итоге будет
<table class="taskTable" >
<tbody class="task-tbody">
<?php while($row1 = mysqli_fetch_array($Table)){ $task123=$row1[2];?>
<!-- removed onclick= -->
<tr class = "task-tr" data-value="<?php echo $task123;?>">
<td class="task-td"><input type="checkbox" name="select" value="select"></td>
<td class="task-td"> <?php if ($row1[0]=='backlog') {$statuscss= 'statusBacklog';} elseif ($row1[0]== 'inprogress') {$statuscss= 'statusInProgress';} else{ $statuscss= 'statusDone';} echo '<div class="',$statuscss,'">';?><?php echo $row1[0];?></div></td>
<td class="task-td"> <?php if ($row1[1]=='HIGH') {$statuscss= 'priorityHigh';} elseif ($row1[1]== 'MEDIUM') {$statuscss= 'priorityMedium ';} else{ $statuscss= 'priorityLow';} echo '<div class="',$statuscss,'">';?> <?php echo $row1[1];?></div></td>
<td class="task-td" > <?php echo $task123;?></td>
<td class="task-description"> <?php echo $row1[3];?></td>
<td class="task-td"> <?php echo $row1[4];?></td>
<td class="task-td"> <?php echo $row1[5];?></td>
<td class="task-td" width="15"> </td>
</tr>
<?php }?>
</tbody>
</table>
<br><br>
<div id="viewTask" class="modal" style="display: none;">
<div id="editTask">
</div>
</div>
<script>
//var modal = document.getElementById('viewTask');
function myFunction(e) {
var Task_Number = this.dataset.value;
$.ajax({
url:'select.php',
method:'POST',
data:{Task_Number:Task_Number},
success:function(data){
$('#editTask').html(data);
document.getElementById('viewTask').style.display='block';
}
});
}
// set up click handler here
$('.task-tr').click(myFunction);
function closefunction(){
document.getElementById('viewTask').style.display='none';
}
</script>