首页 > 解决方案 > 如何编写onclick="function()"并在php编写的html代码中给出函数参数

问题描述

我在将参数传递给 jquery 函数时遇到了一个非常令人困惑的问题。我看到了很多sloution,但在我的情况下都没有。所以请不要将我的帖子标记为重复,除非我的问题解决了。

在我的 PHP 代码中:

echo '<td onclick=" tabCaller( "customer", " id='.$row['id'].' " ) " >'.$row['id'].'</td>';

html 代码应如下所示:

<td onclick="tabCaller("customer","id=1")"> 1 </td>

jQuery函数:

function tabCaller(tabName, parameter = null){
    // do something

}

问题是我的 html 代码看起来像:

<td onclick="tabCaller("customer",="" 'id="1')">#1</td>

标签: phphtmljquery

解决方案


在同一行代码中混合三种不同的语言是引用问题的秘诀。浏览器可能试图理解所有这些双引号,因为它使用双引号作为元素属性的开始和结束分隔符。

相反,对 JavaScript 部分使用单引号并在 PHP 中转义它们:

echo '<td onclick="tabCaller(\'customer\', \' id=' . $row['id'] . ' \')">' . $row['id'] . '</td>';

应该产生:

<td onclick="tabCaller('customer', ' id=1')">1</td>

推荐阅读