将onclick事件添加到动态创建的链接(php)

时间:2017-01-27 10:01:36

标签: javascript php ajax

我的问题:

我有很多用PHP动态创建的链接,现在我想添加一个onclick事件。

现在就是这样:

while($row = mysqli_fetch_array($xyz)) {
echo "<tr>";
echo "<td><a href=\"test.php?parameter=". $row['z'] ."\" target=\_blank>" . $row['z'] . "</a></td>";
echo "</tr>";}

但我想这样

while($row = mysqli_fetch_array($xyz) {
echo "<tr>";
echo "<td><a href=\"test.php?parameter=". $row['z'] ."\" target=\_blank>" . $row['z'] . onclick="test()"</a></td>";
echo "</tr>";}

这可能吗?

3 个答案:

答案 0 :(得分:2)

我不确定我是否理解你究竟在问什么,但我试着回答你:

您无法在页面会话中记录普通的JS变量,然后在加载页面后访问它。 对于这种情况,您可以使用cookie(也可以通过服务器端访问):

// put this code into methods that users suggested you.
document.cookie = "value_selected=something"

并且一旦加载了页面:

var cookies = document.cookie.split(';');
var value_selected  = JSON.parse(JSON.stringify(cookies[YOUR_COOKIE].split("=")[0]))

或服务器端:

echo "<td><a href=\"test.php?parameter=". $row['z'] ."\" data-something=htmlentities($_COOKIE['value_selected']) target=\_blank>" . $row['z'] . "</a></td>"; //(example)

或者更简单地说,传递通过查询选择的值

?value_selected=something //elaborate the new link in the method users suggested you

in server-side, use $['GET'] to obtain all values in query string.

恕我直言,我认为第一选择比第二选择简单。

我希望我能帮到你

答案 1 :(得分:0)

尝试这样

while($row = mysqli_fetch_array($xyz) {
 echo "<tr>";
 echo "<td><a class='myclick' href=\"test.php?parameter=". $row['z'] ."\"   target=\_blank>" . $row['z'] . **onclick="test()"**</a></td>";
echo "</tr>";}

我添加了一个类作为myclick链接 并在jquery

$(document).on('click','.myclick',function(e){
   e.preventDefault();
alert('clicked');
});

答案 2 :(得分:0)

你可以尝试这样......只是一个简单的方法。

<script type="text/javascript">
 function test(){
    alert('test');
 }

</script>
<?php

while($row = mysqli_fetch_array($xyz) {
echo "<tr>";
echo "<td><a href='your link' onclick='test()'></a></td>";
echo "</tr>";
}

?>