Как запустить событие click для созданной php HTML-таблицы

У меня есть php создание таблицы на основе результатов поиска, и эта таблица перезаписывает предыдущую таблицу. При нажатии на строку этой таблицы я хочу, чтобы отображались детали строки. Однако, если нажатие на предыдущую таблицу работает, то при нажатии на таблицу результатов событие щелчка не вызывается.

Исходный код таблицы и содержащий div:

<div id="fixInfo" style="overflow-y: auto; overflow-x:hidden;max-height:350px; width: 1000px;">
<table class="standard" id= "list">
<?php
include 'DATA.php';
$sql = "SELECT * FROM FIX";
$result = mysqli_query($conn, $sql);
if ($result = mysqli_query($conn, $sql)){
while ($row = mysqli_fetch_assoc($result)){
echo '<tr>';
echo '<td style="width:150px;">'.$row["FIX_ID"].'</td>';
echo '<td style="width:150px;">'.$row["TIME"].'</td>';
echo '<td style="width:150px;">'.$row["DATE"].'</td>';
echo '<td style="width:150px;">'.$row["PROVIDER_ID"].'</td>';
echo '</tr>';
}
}
mysqli_close($conn);
?>
</table>
</div>

Код события jquery click:

<script>
$("#list tr").on("click",function(){
var ID = $(this).find("td:first").text();
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
}
xmlhttp.onreadystatechange = function(){
if (this.readyState == 4 && this.status == 200) {
document.getElementById("fixstuff").innerHTML = this.responseText;
}
};
var params= "ID="+ID;
xmlhttp.open("POST","fixdetails.php",true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", params.length);
xmlhttp.setRequestHeader("Connection", "close");
xmlhttp.send(params);
});
</script>

Код создания таблицы результатов (searchFix.php):

<?php
$sort = $_POST['sort'];
$search= $_POST['search'];
include 'DATA.php';

if($search==""){
$sql = "SELECT * FROM FIX";
}
else{
$sql= "SELECT * FROM FIX WHERE ".$sort." =". $search;
}

$result = mysqli_query($conn, $sql);
if ($result = mysqli_query($conn, $sql)){
while ($row = mysqli_fetch_assoc($result)){
echo '<tr>';
echo '<td style="width:150px;">'.$row["FIX_ID"].'</td>';
echo '<td style="width:150px;">'.$row["TIME"].'</td>';
echo '<td style="width:150px;">'.$row["DATE"].'</td>';
echo '<td style="width:150px;">'.$row["PROVIDER_ID"].'</td>';
echo '</tr>';
}
}
mysqli_close($conn);
?>

0

Решение

Поскольку вы изменяете дом, вам нужно будет сделать повторное связывание.
$ .on не работает так же, как устаревший $ .live

попробуйте изменить начальную строку на

$(document).on('click','#list tr', {} ,function(e){
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector