2017-08-08 183 views
0
<?php 
//Load the database configuration file 
include 'dbConfig.php'; 

$sql  = "SELECT * FROM users ORDER BY level DESC LIMIT 500"; 
$result = $db->query($sql); 
if ($result->num_rows > 0) { 
    $i = 0; 
    while ($row = $result->fetch_assoc()) { 

     echo '<ul class="list-group"> 
    <li class="list-group-item"> 
    <span class="badge">' . $row['level'] . '</span> 
    <img id="' . $i . '" onclick="image();" width="30px" height="30px" src="' . $row['picture'] . '"><strong>&nbsp;' . $row['first_name'] . ' 
    </strong></li> 
    <script> 
function image(this) { 
    console.log($(this).attr("id")); 
} 
    </script> 
    '; 
    $i ++; 

    } 
} 
?> 
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"> 
<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script> 

這是爲什麼不工作? 問題:Console.log正在返回undefined。 爲什麼我會收到未定義的消息?有避免它的好方法嗎?CONSOLE.LOG返回undefined

+1

這個問題是因爲當通過'上*'事件屬性調用的函數的範圍是'window',而不是元素本身,因此'this'是不是你期待它。請參閱標記爲解決方案的副本。另外請注意,使用'on *'事件屬性是令人難以置信的過時,應該避免。請使用不顯眼的事件處理程序。 –

+0

嘗試圍繞下面的腳本: jQuery(document).ready(function($){ )}; –

回答

0

查看下面的示例。你可以通過jQuery實現它。

$(document).ready(function(){ 
 
$("img").click(function(){ 
 
    alert($(this).attr("id")); 
 
}); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<img id="img_123" width="30px" height="30px" src=""><strong>test </strong>

+0

這就是我一直在尋找的,謝謝! –

+0

歡迎你高興幫助你:) @HossemHamami – RJParikh