php - 如何编写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>
解决方案
在同一行代码中混合三种不同的语言是引用问题的秘诀。浏览器可能试图理解所有这些双引号,因为它使用双引号作为元素属性的开始和结束分隔符。
相反,对 JavaScript 部分使用单引号并在 PHP 中转义它们:
echo '<td onclick="tabCaller(\'customer\', \' id=' . $row['id'] . ' \')">' . $row['id'] . '</td>';
应该产生:
<td onclick="tabCaller('customer', ' id=1')">1</td>
推荐阅读
- javascript - 如何提取保存在 for 中的值?...这是我的代码。但它不起作用
- unit-testing - 如何在 Flutter 中使用 compute() 测试函数?
- c - c 2d 数组 scanf 问题
- r - 我有一列日期,如何过滤特定日期之前的日期?R
- javascript - 回调函数未意外执行
- c++ - 在我的凯撒密码项目中未定义对“Caesar::Caesar(int)”的引用
- chart.js - Chart.js 货币工具提示
- sql - 在 Athena 中将两列映射为一列
- makefile - Makefile错误:没有规则来制作“build”需要的“bin/functions.o”
- python - 我在 python 中使用 phonenumbers 模块试图找出一个数字载体。输入数字后什么都不打印